文書によれば、フォーム入力 要素コンポーネントが 'for'属性を介してフォーカスを受け取ることを明示的に宣言することが可能でなければなりません。 この場合、デフォルトで最初の入力要素ではなく2番目の可視入力要素が有効になっています - だから、誰かが次のことがうまくいかない理由を説明してくれますか?p:focusの 'for'属性で明示的なフォーカスを取得するにはどうすればよいですか?
<h:form id="form4">
<p:focus id="pick" for="input2" />
<h:inputText id="input1" value="#{messageManagedBean.message1}"/>
<h:inputText id="input2" value="#{messageManagedBean.message2}"/>
<p:commandButton value="Execute JSF Lifecycle - Invoke Action One" action="#{messageManagedBean.doSomeAction41}" ></p:commandButton>
<p:commandButton value="Execute JSF Lifecycle - Invoke Action Two"
action="#{messageManagedBean.doSomeAction42}" ></p:commandButton>
<p:messages for="input1" id="messages1" autoUpdate="true"/>
<p:messages for="input2" id="messages2" autoUpdate="true"/>
</h:form>
多くの感謝!
[PrimeFaces:3.5.25 のJavaServer Facesを:1.2 Javaサーブレット:2.5 サーバー:Apache Tomcatの8.0.15]を
6.0で動作しますが、3.5ではコードが異なります: 'focus.findComponent(focus.getFor())' vs 'SearchExpressionFacade.resolveComponent(context、focus、focus.getFor())' –