1
<h:form>
Do you have a driving license?
<h:selectOneMenu value="#{requestScope.license}">
<f:selectItem itemLabel="Select..." itemValue=""/>
<f:selectItem itemLabel="Yes" itemValue="Y"/>
<f:selectItem itemLabel="No" itemValue="N"/>
<f:ajax render="@form"/>
</h:selectOneMenu>
<br/>
Enter driving license number:
<h:inputText value="#{requestScope.number}"
rendered="#{'Y' eq requestScope.license ? true : false}"/>
<br/>
<h:commandButton value="Submit"/>
<br/>
Your driving license number is: #{requestScope.number}
</h:form>
問題在實現一個非常普遍的情況下使用JSF 2.0由Ajax呈現的JSF 2.0輸入字段不能用於輸入值?
上面JSF 2.0的標記示出了非常常見的場景。
如果用戶在問題「您有駕照嗎?」中選擇「是」,那麼「輸入您的駕駛執照號碼:」字段由Ajax提供。
如果用戶輸入駕駛證號碼並按下按鈕,輸入數據應顯示在底部(根據我的理解),但沒有發生。
請任何人解釋這一點。