到目前为止,我在JSF中遇到的大部分问题似乎都归结为此 - 从(静态)客户端到(动态)服务器端的通信,反之亦然;例如,用于重新渲染组件。
示例:启用/禁用取决于commandButton
选择的按钮(selectoneradio
)。
通信选择selectoneradio
(客户端到服务器)然后 ajaxingly 更新commandButton
(服务器)的正确方法是什么?客户)?
答案 0 :(得分:1)
使用<f:ajax>
。
这是一个在选择第二项时启用按钮的示例。
<h:selectOneRadio value="#{bean.selectedItem}">
<f:selectItem itemValue="1" itemLabel="First item" />
<f:selectItem itemValue="2" itemLabel="Second item" />
<f:ajax render="button" />
</h:selectOneRadio>
<h:commandButton id="button" disabled="#{bean.selectedItem != 2}" />
确保#{bean}
为@ViewScoped
,以便在回发中记住状态。否则,当您按下提交按钮时,它将回退到默认值。
那就是说,我强烈建议你阅读一本不错的JSF书。以上内容通常已在第1章中介绍过。