ggb*_*667 3 tags jsf backing-beans
我有一些情况下我有一个JSF页面和一个输入我想在支持bean上设置多个值而不在辅助bean中执行代码.
我可以设置一个值:
<h:selectOneRadio id="selectMembershipLevel" class="TODO_SELECT"
value="#{joinBackingBean.map[joinBackingBean.map.primary_memberInfo_membershipType_code]}">
<f:selectItem id="basic" itemLabel="#{overrideMsg.pbBasic}" itemValue="B" />
<f:selectItem id="plus" itemLabel="#{overrideMsg.pbPlus}" itemValue="P" />
<f:selectItem id="plusRV" itemLabel="#{overrideMsg.pbPlusRV}" itemValue="RV" />
Run Code Online (Sandbox Code Playgroud)
但是如果我想在JSF页面上一次设置多个可以做到的话吗?
#{joinBackingBean.map[joinBackingBean.map.primary_memberInfo_membershipType_code]}
#{joinBackingBean.map[joinBackingBean.map.primary_memberInfo_membershipType_desc]}//Bdesc
#{joinBackingBean.map[joinBackingBean.map.primary_memberInfo_membershipType_type]}//Btype
Run Code Online (Sandbox Code Playgroud)
绑定其他属性<h:inputHidden>并change在第一次输入的事件期间使用JavaScript 将这些隐藏输入的值操作为与第一个输入的当前值相同.
这是一个启动示例:
<h:form id="form">
<h:selectOneRadio value="#{bean.input1}" onchange="document.getElementById('form:input2').value = document.getElementById('form:input3').value = this.value">
<f:selectItem itemValue="one" />
<f:selectItem itemValue="two" />
<f:selectItem itemValue="three" />
</h:selectOneRadio>
<h:inputHidden id="input2" value="#{bean.input2}" />
<h:inputHidden id="input3" value="#{bean.input3}" />
...
</h:form>
Run Code Online (Sandbox Code Playgroud)
显然,随意重构JS函数或抛出一些jQuery.请记住,如果客户端已禁用JS,并且最终用户可以操作JS代码并请求参数,则这一切都将无效.如果您绝对需要值相等,则服务器端解决方案更加强大.
| 归档时间: |
|
| 查看次数: |
1482 次 |
| 最近记录: |