내가이 (가) <p:inputText>
의 검증 및 컨텐츠를 업데이트에 문제가 작동하지 않습니다 실패했습니다. InputText]를 검증이 실패한 경우Primefaces JSF 업데이트는
기본적으로, 다시 업데이트되지 없구요.
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui">
<h:head>
</h:head>
<body>
<h1>Test</h1>
<h:form id="list" prependId="false">
<ul>
<li>Element 1 
<p:commandLink action="#{Test.assignElement}" update="detail_value">
<f:setPropertyActionListener target="#{Test.currentElement}" value="1" />
Assign
</p:commandLink>
</li>
<li>Element 2 
<p:commandLink action="#{Test.assignElement}" update="detail_value">
<f:setPropertyActionListener target="#{Test.currentElement}" value="2" />
Assign
</p:commandLink>
</li>
</ul>
</h:form>
<h:form id="detail" prependId="false">
<p:inputText value="#{Test.element}" id="detail_value" required="true" styleClass="#{Faces.messagesFor['detail_value'] ? 'border:1px solid red' : ''}">
<p:ajax event="blur" update="detail_value"></p:ajax>
</p:inputText>
</h:form>
</body>
</html>
테스트 콩 :
package com.easydevel.test;
public class Test {
private String currentElement;
private String element;
public String getCurrentElement() {
return currentElement;
}
public void setCurrentElement(String currentElement) {
this.currentElement = currentElement;
}
public String getElement() {
return element;
}
public void setElement(String element) {
this.element = element;
}
public String assignElement(){
setElement(getCurrentElement());
return "";
}
}
는 "요소"아래 commandLinks 클릭하면
의 입력Facelet : 여기
는 명확히하기 위해 간단한 예제 필드가 업데이트되지만 유효성 검사가 실패하면 (단순히 입력 텍스트를 비워두고 페이지의 다른 부분을 클릭하면) 입력 테두리가 빨간색으로 바뀝니다. 그 후 위에서 언급 한 commandLinks를 클릭하면 다시 업데이트되지 않습니다.아이디어가 있으십니까?