h:inputtext not working with multiple forms in JSF2.2

半世苍凉 提交于 2019-12-13 06:49:58

问题


h:inputText is not working in the latest JSF2.2 with multiple forms. I have 2 forms

form1 have: one command button and one input text

form2 has: one input text and one output label

on click of command button in form1, i am rendering the form2(both outputlabel and input text).

but only output label is rendered properly with correct values (corresponding getter method gets called and value is displaying) but the input text is not calling the corresponding getter method hence showing null.

Note: we noticed this issue only if we use multiple forms, within single form its working fine. also it worked fine in JSF2.0

Version used: JSF api - 2.2 (com.sun.faces) JSF impl - 2.2 (com.sun.faces)

let me know if anyone have solution to handle this.

the forms are not nested and both the beans are in View scope.

<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>              

after the action is completed in form1, the form2 outputlabel is displaying the value properly(getter method is called) but the inputtext is not displaying the value (getter method is not getting called)

Hi john, to test whether the above issue is working fine without richfaces, i created a standalone project and create a xhtml as below

<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>   

but i am getting unknown id for sample, is there any way to check with multiple forms?


回答1:


I am not familiar with richfaces (a4j), but try the following:

-If you don't use form prependId=false, then you should refer to your (other form) id's as: render=":form2:paymentInstructionDetail" styleClass="iconLarge edit" />

On another note: -I don't think that richfaces is JSF2.2 ready yet, so expect problems -Actually, JSF 2.2 has quite a few bugs of it's own



来源:https://stackoverflow.com/questions/17424292/hinputtext-not-working-with-multiple-forms-in-jsf2-2

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!