idf和adf_ADF:弹出窗口,对话框和输入组件
idf和adf
在本文中,当我们有一个af:popup包含af:dialog并在其中包含输入组件时,我想重点介绍一个非常常见的用例。 实现此用例时,需要注意一些陷阱。
让我们考虑一个简单的示例:
<af:popup id="p1" contentDelivery="lazyUncached"><af:dialog id="d2" title="Dialog" ><af:inputText value="#{TheBean.firstName}" label="First Name" id="it1"/><af:inputText value="#{TheBean.lastName}" label="Last Name" id="it2"/></af:dialog></af:popup>
这里最有趣的是弹出窗口的属性contentDelivery ,该属性设置为lazyUncached 。 这样可以防止弹出窗口缓存提交的输入值,并强制其从每个请求的模型中获取值,而不是使用缓存中的值。
让我们将示例变得更加复杂。 在姓氏的设置器中,我们将引发一个异常:
public void setLastName(String lastName) throws Exception { this.lastName = lastName; throw new Exception("This last name is bad");
}
因此,显然,如果我们尝试提交对话框,则会得到以下信息:
输入值不能提交给模型,它们将存储在输入组件的局部值中。 即使我们按“ 取消”按钮,也不会清除这些本地值,并且在子序列请求期间将使用这些值。 为了防止这种行为,我们必须将弹出窗口的resetEditableValues属性设置为whenCanceled 。 像这样:
<af:popup id="p1" contentDelivery="lazyUncached"resetEditableValues="whenCanceled"><af:dialog id="d2" title="Dialog" ><af:inputText value="#{TheBean.firstName}" label="First Name" id="it1"/><af:inputText value="#{TheBean.lastName}" label="Last Name" id="it2"/></af:dialog> </af:popup>
让我们来看一个带有自定义按钮的af:dialog的示例:
<af:popup id="p1" contentDelivery="lazyUncached"resetEditableValues="whenCanceled"binding="#{TheBean.popup}"><af:dialog id="d2" title="Dialog" type="none"><af:inputText value="#{TheBean.firstName}" label="First Name" id="it1"/><af:inputText value="#{TheBean.lastName}" label="Last Name" id="it2"/><f:facet name="buttonBar"><af:panelGroupLayout layout="horizontal" id="pgl1"><af:button text="Ok" id="b2" actionListener="#{TheBean.buttonActionListener}"/><af:button text="Cancel" id="b3" immediate="true"actionListener="#{TheBean.buttonActionListener}"/></af:panelGroupLayout> </f:facet></af:dialog> </af:popup>
因此,使用以下actionListener有两个自定义按钮“ Ok”和“ Cancel” :
public void buttonActionListener(ActionEvent actionEvent) {getPopup().hide();
}
在这种情况下, resetEditableValues不起作用,并且在按“ 取消”按钮时,不会清除输入组件的本地值。 有两个选项可以解决此问题。
第一个是将af:resetListener添加到“取消”按钮:
<af:button text="Cancel" id="b3" immediate="true"actionListener="#{TheBean.buttonActionListener}"><af:resetListener type="action"/></af:button>
第二个选项是取消弹出窗口,而不仅仅是将其隐藏在“取消”按钮操作侦听器中:
<af:button text="Ok" id="b2" actionListener="#{TheBean.buttonActionListener}"/><af:button text="Cancel" id="b3" immediate="true"actionListener="#{TheBean.cancelButtonActionListener}"/>
public void cancelButtonActionListener(ActionEvent actionEvent) {getPopup().cancel();
}
而已!
翻译自: https://www.javacodegeeks.com/2014/08/adf-popup-dialog-and-input-components.html
idf和adf
idf和adf_ADF:弹出窗口,对话框和输入组件相关推荐
- 带有 HTML5 <dialog> Tag的原生弹出窗口对话框
对话框和灯箱广泛用于网站和应用程序.在此之前,它们需要定制--使用一系列<div>来创建容器,设置对话框的 CSS 使其居中,并使用 Javascript 事件处理程序来显示/隐藏模式框. ...
- VB动态添加WebBrowser控件,并拦截弹出窗口(不用引用任何组件)
WBCustomizer.dll 这个 1.注册::在开始菜单中输入RegSvr32 路径(WBCustomizer.dll文件所在的绝对路径),若果注册成功,会提示 2.引用 :在工程--&g ...
- 苹果怎么修改服务器密码,iPhone突然弹出窗口:要求输入/修改ID密码怎么办?
如果遇到要求修改密码的弹窗,会不会吓一跳?这是正常现象,别动不动怀疑自己的 Apple ID 被盗或者手机存在风险哦,给你压压惊~ 这种弹窗发生在 iPhone 解锁进入桌面之后直接弹出提示的情况较为 ...
- JavaFX弹出窗口和消息对话框代码示例
弹出窗口 弹窗类 package cn.zxl.AlertWindow;import javafx.geometry.Pos; import javafx.scene.Scene; import ja ...
- php 弹窗代码大全,PHP_asp.net弹出窗口代码大全,//关闭,父窗口弹出对话框,子窗 - phpStudy...
asp.net弹出窗口代码大全 //关闭,父窗口弹出对话框,子窗口直接关闭 this.Response.Write(""); //关闭,父窗口和子窗口都不弹出对话框,直接关闭 th ...
- ADF:弹出窗口,对话框和输入组件
在本文中,当我们有一个af:popup包含af:dialog并在其中包含输入组件时,我想着重介绍一个非常常见的用例. 在实现此用例时,需要注意一些陷阱. 让我们考虑一个简单的示例: <af:po ...
- python win10 捕获 弹出窗口_[python爬虫] Selenium高级篇之窗口移动、弹出对话框自登录...
在我们使用Selenium Python制作自动爬虫和网页自动测试的时候,通常会遇到弹出新的窗体或对话框的时候,此时你捕获的窗体已经被打断,从而干扰你的爬虫. 那怎么解决这个问题呢? 本篇文章主要记录 ...
- js“弹出对话框”和“弹出窗口”详解
JS中showModalDialog 详细使用 基本介绍: showModalDialog() (IE 4+ 支持) showModelessD ...
- python中pygame增加对话框_在pygame中制作弹出窗口与pgu
我在用pygame编写的游戏中添加了一些gui元素(带有按钮的对话框).我环顾四周寻找一个体面的GUI工具包,并以pgu结束.无论如何,我试图让它弹出一个对话框,它确实(有点),但它不关闭.在pyga ...
最新文章
- C++实现 (FFT)一维快速傅里叶变换
- solr java浏览器访问_solr解决访问安全
- Sublime Text报错please wait a bit whilePyV8 binary is being downloaded
- coursera访问不了
- linux java执行_linux下运行java
- 图像定位的优化、评价和应用简介
- 【数据库】MySql分割字符串
- 简单好用的Mac设置
- CSS:布局——左右两个DIV,左侧宽度固定,右侧占满剩余部分
- 随笔小杂记(四)——将语义分割标签转换为指定像素值
- 毕设题目:Matlab智能算法VRP(车辆路径规划)
- asp.net 安全
- 项目管理里面的十大知识领域
- mac pro词典无法使用问题
- python键盘控制_python实现键盘控制鼠标移动
- dabo(达泊西汀)
- mysql 校对规则作用_讲讲Mysql中的校对规则究竟是怎么一回事
- 基于猫眼票房数据的可视化分析
- 西门子S7-200 PLC下载
- Type 和 class 的区别
热门文章
- 2018/7/19-纪中某C组题【jzoj3461,jzoj3462,jzoj3463,jzoj3464】
- ssl1197-质数和分解【dp练习】
- 【做题记录】CF1451E2 Bitwise Queries (Hard Version)
- 2020 China Collegiate Programming Contest Qinhuangdao Site 补题部分
- [XSY3320] string (AC自动机,哈希,点分治)
- Spring Aop总结
- Java JVM总结
- vue组件自定义v-model
- jdk和cglib简单理解
- Spring MVC Boot Cloud 技术教程汇总