1
我在JSF 2.0中有很多文本(标签)和复选框。提交时文本从不更新,但复选框的值确实如此。如何ajax只呈现输入而不是整个表单?
例如:
<h:form>
<h:outputLabel value="bla bla bla bla .. X 1000" id="lab1">
<h:selectBooleanCheckbox for="lab1">
<h:outputLabel value="bla bla bla bla .. X 1000" id="lab2">
<h:selectBooleanCheckbox for="lab2">
.... many more labels and checkboxes ...
<h:commandButton>
<f:ajax render="@form" execute="@form" />
</h:commandButton>
</h:form>
的问题是,每当我做了提交,整个表单内容被重新呈现。我想只是复选框值重新呈现。这可以节省90%的请求大小。
是否有解决此问题的好方法?
谢谢!我混淆了属性(仅作为示例编写)。 – Ben
说,我可以在render属性中使用JAVASCRIPT表达式吗? (是的,我会自动构建一个javascript var,其中包含表单中所有复选框和输入的ID) – Ben
不,您不能。这完全是服务器端的评估。如果你想从管理bean中分离责任并以其他形式重用它,你最好可以为它创建一个自定义的EL函数。或者可能创建一个自定义的ajax标签,但这并不是微不足道的。 – BalusC