가지고있는 양식에 문제가 있습니다. 이 양식을 사용하면 사용자가 텍스트 상자에 정보를 입력 한 다음 검색 및 재설정 버튼 2 개가 있습니다.양식을 지우는 JS 기능을 실행하는 버튼을 클릭 한 후보기를 복원 할 수 없습니다.
양식 코드 :
<h:outputText value="Search by Author Name" styleClass="p" />
<div class="investigatorTab">
<h:outputLabel for="firstName" rendered="true" value="First Name" />
<h:inputText value="#{pubBacker.firstName}"></h:inputText>
<h:outputLabel for="lastName" rendered="true" value="Last Name" />
<h:inputText value="#{pubBacker.lastName}"></h:inputText>
</div>
<div class="buttons">
<p:commandButton value="Submit" styleClass="submitButton" action="#{pubBacker.submit}" update="tabs" />
<p:commandButton value="Reset" type="button" actionListener="#{pubBacker.clearEntries}" onclick="clearForm(this.form);" />
</div>
제가하는 데 문제는 내가 검색 버튼을 클릭하면 결과 페이지에 저를 받아 내가 검색 페이지로 돌아 가면, 그것은 여전히있다이다 bean은 세션 범위가 있기 때문에 텍스트 필드에서 검색 한 데이터. 재설정 버튼을 클릭하고 텍스트 입력란의 데이터를 지울 수 있기를 원합니다. 내가 재설정 버튼을 클릭하면 현재 아래의 코드와
는, 검색 버튼이 더 이상 작동하고 불을 지르고 내가 두 번째 p:commandButton
에서 onclick="clearForm(this.form);"
을 제거하면 그것은 나에게이 오류
<?xml version='1.0' encoding='UTF-8'?>
<partial-response><error><error-name>class javax.faces.application.ViewExpiredException</error-name><error-message><![CDATA[viewId:/ccadmin/pubManagement.xhtml - View /ccadmin/pubManagement.xhtml could not be restored.]]></error-message></error></partial-response>
을 제공 콘솔, 양식이 잘 작동합니다.
JS 함수를 호출하면 뷰가 만료되는 이유는 무엇입니까?
출판 콩 :
@ManagedBean(name="pubBacker")
@SessionScoped
public class Publication {
public Publication() {}
public void clearEntries() {
new Publication();
}
}
과 함께합니다 (
process="@this"
주의이이를 확인하지 따라서 폼의 입력 값을 처리하지 않습니다) 내 게시자. 이것은 바보 같은 질문 일지 모르지만,'pub = new publication();'을 호출하여 pubBacker bean을 인스턴스화 한 적이 없다면, clearEntries 메소드에서'new Publication()'이라고 말하는 것이 옳은가요? – Catfish당신이 날 이해하지 못했을 것 같아요. ''구성 요소의 값을보십시오. 컨트롤러에서 모델을 추출하고 싶지 않다면, clear 메소드 안의'firstName = lastName = null; '도 괜찮습니다. 그러나 많은 것을 가지고 있다면 성가신 것입니다. –
BalusC
오 이전에 수정 된 inputText를 보지 못했습니다. 소수의 필드를 가지고 있기 때문에, 나는 단지 ""으로 나의 vars를 설정했다. 그러나 내가 가지고 있지 않은 것은'update = "@ form"'이고 commandButton에'type'이 설정되어 있다면, 그것은 작동하지 않았다. – Catfish