持っているフォームに問題があります。フォームを使用すると、ユーザーはいくつかのテキスト ボックスに情報を入力できます。次に、[検索] と [リセット] の 2 つのボタンがあります。
フォームコード:
<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 がセッションであるため、テキスト フィールドで検索したデータがまだ残っていることです。スコープ。[リセット] ボタンをクリックして、テキスト フィールドのデータをクリアできるようにしたいと考えています。
現在、以下のコードで [リセット] ボタンをクリックすると、検索ボタンが機能しなくなり、firebug コンソールでこのエラーが表示されます
<?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>
onclick="clearForm(this.form);"
2 番目の からを削除するp:commandButton
と、フォームは正常に機能します。
JS 関数を呼び出すとビューが期限切れになる理由はありますか?
パブリケーション Bean:
@ManagedBean(name="pubBacker")
@SessionScoped
public class Publication {
public Publication() {}
public void clearEntries() {
new Publication();
}
}