费了好大的劲才调试好下面这段页面。用户点击USA或者是CANADA,然后在一个SelectOneMenu里面显示美国州或者加拿大省。
页面:
<h:outputText value="Please select your country" />
<h:form id="forma">
<h:selectOneRadio value="#{Regions.country}">
<f:selectItem itemLabel="USA" itemValue="USA" />
<f:selectItem itemLabel="CANADA" itemValue="CANADA" />
<a:support event="onchange" reRender="regionPanel" />
</h:selectOneRadio>
</h:form>
<a:outputPanel id="regionPanel" ajaxRendered="true">
<s:decorate id="regionDecoration" template="layout/display.xhtml">
<ui:define name="label">#{Regions.selectARegionLable}</ui:define>
<h:selectOneMenu id="selectRegion"
value="#{dealerList.region}" required="true">
<f:selectItems value="#{Regions.regionMap}" />
</h:selectOneMenu>
</s:decorate>
</a:outputPanel>
Bean:
public Map getRegionMap() {
Map l = new HashMap();
if ("USA".equals(country)) {
for (String s : USAStates.states)
l.put(s, s);
setSelectARegionLable("Please select a state:");
} else if ("CANADA".equals(country)) {
for (String s : CanadaProvinces.states)
l.put(s, s);
setSelectARegionLable("Please select a provice:");
} else {
l.put("No region to show", "No region to show");
}
return l;
}
public void setCountry(String country) {
this.country = country;
}
public String getCountry() {
return country;
}
问题出在selectonemenu的属性required=true.估计是因为没有选择一个值导致验证失败,中断了JSF处理周期。去掉以后显示正常。
分享到:
相关推荐
NULL 博文链接:https://fdrgbs.iteye.com/blog/554687
NULL 博文链接:https://yuexiangcheng007-sina-com.iteye.com/blog/444415
Column 內 selectOneMenu 位置 與其他東西 位置不太一致 的處理方法問題原因selectOneMenu就是比同一排的高解決方式。
本文为大家详细介绍下如何设置jsf的选择框h:selectOneMenu为不可编辑状态,具体实现代码如下,希望对大家有所帮助
素面Selenium 基于JUnit5,Selenium和页面对象/碎片概念的PrimeFaces测试支持。 它还支持JUnit5并行测试执行,以加快测试速度。 PrimeFaces-Selenium提供了一个挂钩,以启动本地服务器,使用远程地址并实例化...
設定Style讓標準的JSF元件比較像PrimefacesShared by: Jackson Lee在Primefaces下使用h:selectOneMenu
Log4J适配器;FacesMessage监听器;组件树可视化查看器。 PrimeUI是一套JavaScript Widget控件,可用于创建UI。PrimeUI是把原PrimeFaces的组件进行解耦,提取出来的JS控件可以用于PHP、ASP、 Wicket、GWT等等的开发...
某些组件(如 selectOneMenu、spinner、inputNumeric、calendar、splitbutton、带有下拉按钮的自动完成)需要额外的样式版本才能响应。 文件 /PrimefacesBootstrap/src/main/webapp/resources/css/style.css 包含我...
-- Context Listener creates and sets the application handler --> <!-- Faces Servlet --> <servlet-name>Faces Servlet <servlet-class>javax.faces.webapp.FacesServlet <load-on-startup>1 ...
合同形式JSF + Primefaces 中的表单Ajax 和部分渲染部分处理使用日历输入日期和时间SelectOneMenu 和 Ajax 的相关选择菜单带有 SelectOneRadio 的单选按钮带有 SelectManyCheckbox 的多个复选框带有 AutoComplete 的...
TheryFaces ... SelectOneDetail(多功能框 + selectOneMenu + 所选项目的详细信息) 盒子(带斜角的盒子,重复N次有用) 实用程序(函数,例如 #{util:someFunction('parameter')}): 枚举列表