1

編集を選択すると、バッキング Bean が呼び出されますが、フォーム フィールドにはデータが事前に入力されません。

<h:form id="EmpDetails">
   <h:inputText value="#{empBean.fName}">
      <f:validateBean disabled="#{param[skipBeanValidation]}"/>
    </h:inputText>

<h:dataTable> 
 <h:column>
    [<h:commandLink value="Edit" immediate="true">
      <f:ajax execute="@form" render="@form" listener="#{empBean.edit}"/>
     </h:commandLink>  ]
     Changed to 
     <h:commandLink value="Edit" action="#{empBean.edit}">
       <f:param name="skipValidation" value="true"/>
     </h:comamndLink>
  </h:column>     
 </h:dataTable>

<h:commandLink value="#{empBean.addEmployee}"/>
<h:commandLink value="#{empBean.continue}"/>
</h:form>
4

1 に答える 1

2

これは、HTML フォームが機能するはずの方法ではありません。1 つの HTML フォームで、同じフォームに含まれるすべての入力要素とボタンを囲む必要があります。

関連するフォーム要素を同じフォームにまとめます。問題が発生した場合は、別の方法で解決する必要があります。たとえば、ajax で部分送信を使用します。

于 2012-11-02T17:43:54.893 に答える