JSFで1つの問題が発生しています。URLに基づいてバッキングBeanのメソッドを呼び出す方法はありますか?Strutsを使用するstructs-config
と、アクションクラスでそれを達成できました。StrutsからJSFに移行するとき、この問題に直面しています。
質問する
3156 次
2 に答える
4
JSFナビゲーションを大幅に改善するPrettyFacesを使用できます。わかりやすくブックマーク可能なRESTURLを使用できるようにします。
Servlet 3.0を使用している場合は、PrettyFaces jarをWebアプリに追加し、管理対象Beanにページマッピングで注釈を付け、特定のマッピングのアクションを選択するだけです。
import com.ocpsoft.pretty.faces.annotation.URLAction;
import com.ocpsoft.pretty.faces.annotation.URLMapping;
import com.ocpsoft.pretty.faces.annotation.URLMappings;
@ManagedBean(name = "pageViewBean")
@URLMappings(mappings = {
@URLMapping(id = "myAction",
pattern = "/page/myAction", // URL mapped to jsf file
viewId = "/page.xhtml"), // jsf file
@URLMapping(id = "myAction2",
pattern = "/page/myAction2", // URL mapped to jsf file
viewId = "/page.xhtml")}) // jsf file
public class PageViewBean
{
@URLAction(mappingId = "myAction") // action for URL /page/myAction
public void myAction()
{
...
}
@URLAction(mappingId = "myAction2") // action for URL /page/myAction2
public void myAction2()
{
...
}
それで全部です。
于 2013-02-26T12:44:30.163 に答える
2
を使用でき<f:event type="preRenderView" />
ます。ページがレンダリングされるたびに呼び出され、<h:head>
タグの上に配置します
例えば:
<f:event listener="#{myBean.myAction}" type="preRenderView" />
<h:head>
...
</h:head>
<h:body>
...
そしてあなたの豆の中:
public void myAction(ComponentSystemEvent event){
...
}
于 2013-02-26T12:20:36.900 に答える