gpt4 book ai didi

JSF 输入到多个支持 bean 属性

转载 作者:行者123 更新时间:2023-12-04 01:48:18 26 4
gpt4 key购买 nike

在某些情况下,我有一个 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" />

但是如果我想一次设置多个,可以在 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

最佳答案

通过 <h:inputHidden> 绑定(bind)其他属性并在 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>

显然,可以随意重构为 JS 函数或加入一些 jQuery。请记住,如果客户端禁用了 JS,这一切都将不起作用,并且最终用户可以操纵 JS 代码和请求参数。如果您绝对需要值相等,则服务器端解决方案更可靠。

关于JSF 输入到多个支持 bean 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14525679/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com