0

JSF 2.0 を使用して Web ページを作成しています。

私がやりたいことは、すべてのページが読み込まれるときにsetLastVisitedPage、Bean にある 1 つのメソッドを呼び出すことです。MyBean

私は単に書くだけでこれを行うことができます

<h:body onLoad="#{MyBean.setLastVisitedPage()}"

ただし、すべてのページに書き込む必要があり、すでに 30 ~ 40 ページが作成されています。:(

共通の見出しがあるため、このページでは、commonPage.xhtml. そのファイルをここに含めることを考えていました。

そのため、以下に追加しcommonPage.xhtmlて、ページが読み込まれるたびmyScript.jsに呼び出され、「ここにいます」というアラートが表示されるようにしました。

<h:outputScript name="js/myScript.js" target="head" />

そしてmyScript.js持っています

onload = alert("i m here");

新しいページを開くたびに、「ここにいます」というアラートが表示されます。

ここで私の質問は、すべてのページで呼び出される#{MyBean.setLastVisitedPage()}ように javascriptを追加するにはどうすればよいですか?setLastVisitedPage()

別の方法はありますか?私は間違った方法で考えているのかもしれません。

4

1 に答える 1

1

JSF を使用しているので、このようにPreRenderViewEventを使用することをお勧めします

 <f:metadata>
     <f:event type="preRenderView" listener="#{MyBean.putLastVisitedPage}"/>
 </f:metadata>


public void putLastVisitedPage(ComponentSystemEvent event){
}

こちらをご覧くださいJSF 2 PreRenderViewEvent Example

于 2012-07-23T11:31:00.607 に答える