h:inputText 在具有多种形式的最新 JSF2.2 中不起作用。我有 2 个表格
form1 有:一个命令按钮和一个输入文本
form2 有:一个输入文本和一个输出标签
点击form1中的命令按钮,我正在渲染form2(输出标签和输入文本)。
但只有输出标签以正确的值正确呈现(相应的 getter 方法被调用并显示值),但输入文本没有调用相应的 getter 方法,因此显示为 null。
注意:只有当我们使用多个表单时,我们才注意到这个问题,在单个表单中它工作正常。它在 JSF2.0 中也运行良好
使用的版本:JSF api - 2.2 (com.sun.faces) JSF impl - 2.2 (com.sun.faces)
让我知道是否有人有解决方案来处理这个问题。
表单没有嵌套,两个 bean 都在 View 范围内。
<h:form id="form1">
<a4j:commandLink id="actionEdit" title="Click" action="#{bean.action}"
render="paymentInstructionDetail" styleClass="iconLarge edit" />
</h:form>
<h:form id="form2">
<a4j:outputPanel ajaxRendered="true" id="paymentInstructionDetail">
<h:inputText value="#{bean1.amount}" id="sample"/>
<h:outputLabel value="#{bean1.amount}" id="sampleLabel"/>
</a4j:outputPanel>
</h:form>
在 form1 中完成操作后,form2 outputlabel 正确显示值(调用 getter 方法)但 inputtext 未显示值(未调用 getter 方法)
嗨,约翰,为了测试上述问题在没有 Richfaces 的情况下是否正常工作,我创建了一个独立项目并创建了一个如下所示的 xhtml
<h:body>
<h2>This is start.xhtml</h2>
<h:form>
<h:commandButton action="#{myBean.testAction}" value="Payment" >
<f:ajax render="sample"></f:ajax>
</h:commandButton>
</h:form>
<h:form id="test12" prependId="false">
<h:inputText value="#{myBean.orderQty}" id="sample"/>
</h:form>
</h:body>
但是我得到了未知的样本ID,有什么方法可以检查多种表格吗?