Jsf 为什么只在inputText值表达式上调用getter? 名字: 姓氏: 国家:
在这段代码中,Jsf 为什么只在inputText值表达式上调用getter? 名字: 姓氏: 国家:,jsf,el,Jsf,El,在这段代码中,“{studentFormBean.fname}”应该指向studentFormBean.java中的setFname(),但它指向getFname()。为什么会发生这种情况?我如何解决它?{studentFormBean.fname}如果在可编辑的值保持器(如h:inputText中使用,则会同时使用getter和setter。渲染输入时,它将获取当前值。提交for(且验证和转换已通过)时,它将设置提交的 另见: 我认为setter将在验证阶段被调用,即使在验证失败时不会更新
“{studentFormBean.fname}”
应该指向studentFormBean.java中的setFname()
,但它指向getFname()
。为什么会发生这种情况?我如何解决它?{studentFormBean.fname}
如果在可编辑的值保持器(如h:inputText
中使用,则会同时使用getter和setter。渲染输入时,它将获取当前值。提交for(且验证和转换已通过)时,它将设置提交的
另见:
我认为setter将在验证阶段被调用,即使在验证失败时不会更新模型。
<h:form>
First Name: <h:inputText value="#{studentFormBean.fname}" /> <br/><br/>
Last Name: <h:inputText value="#{studentFormBean.lname}" /> <br/><br/>
Country :
<h:selectOneMenu value="#{studentBean.country}">
<f:selectItem itemValue="Brazil" itemLabel="Brazil" />
<f:selectItem itemValue="US" itemLabel="US" />
<f:selectItem itemValue="UK" itemLabel="UK" />
<f:selectItem itemValue="Myanmar" itemLabel="Myanmar" />
</h:selectOneMenu>
<h:commandButton value="Submit" action="FormResponse"/>
</h:form>