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