2017-10-19 6 views
0

컨트롤러에서 속성을 설정하고 아약스로 업데이트 할 때 (은 required="true") 이유를 설명 할 수 있습니까?JSF inputText는 required = "true"로만 값을 읽습니다.

은 작동하지 않습니다 :

<h:inputText id="textFieldId" value="#{model.itemValue}"> 

작품 :

<h:inputText id="textFieldId" value="#{model.itemValue}" required="true"> 

작업 : 뒤에

<p:commandLink value="edit"> 
    <p:ajax event="click" listener="#{controller.edit(item)}" process="@this" update="@form"/> 
</p:commandLink> 

아이디어가 나는 항목에 대한 버튼을 누르면 그래서 편집 할 수 있도록하려는 것입니다 이 항목을 inputText에 전파해야합니다.

필수 항목을 true로 설정 한 이유가 없습니다.

감사

+1

'p : commandLink'가 이미 아약스 사용 가능합니다 ... 그 안에'p : ajax' 태그가 필요 없습니다 !!! 'process = "this"를 사용하면 입력을 '무시'할 수 없기 때문에 [mcve]를 만들어 실제 의도를 표시하십시오 – Kukeltje

+0

사실 제안에 의해 문제가 해결되었습니다. 아약스를 제거하고 액션으로 명령 링크에 추가했습니다. 고맙습니다 – Smolda

답변

1

p:commandLink 기본적으로 인 PrimeFaces 이미 아약스 활성화되어 있으므로 둥지 필요 그것은 내부의 p:ajax 태그가 없습니다.

<p:commandLink value="edit" actionListener="#{controller.edit(item)}" 
    process="@this" update="@form"/> 

그러나 당신이 process="@this"를 추가하는 경우, 입력 서버, 단지 CommandLink는에서 처리되지 않는다는 것을 명심하십시오. 이 경우 'item'필드가 올바르게 전달되면 나에게 불확실합니다.