[英]How to execute a method after loading the view in Pretty-Faces
單擊鏈接並加載新頁面后,我想執行一個方法。 我嘗試將<action/>
標記為,但這也沒有幫助:
<url-mapping id="myApp/seller/addProduct">
<pattern value="/myApp/seller/addProduct" />
<view-id value="/pages/seller/add_product.xhtml" />
<action onPostback="false">#{myBean.barMethod}</action>
<action>#{myBean.myMethod}</action>
</url-mapping>
@Bean
public class MyBean{
//source code omitted
public void myMehtod(){
//source code omitted
}
}
我嘗試調試方法執行。 頁面加載后再也不會進行調用。 請問該如何解決?
更新:經過幾個小時的調試,我得出的結果是總是執行第一個動作myBean.barMethod()
而第二個myBean.myMethod()
從未執行,這我幾乎不明白為什么?
您不能使用pretty-config.xml直接將參數傳遞給操作方法,您需要將值綁定到bean屬性,如下所示:
https://www.ocpsoft.org/docs/prettyfaces/3.3.3/zh-CN/html/Configuration.html#config.pathparams
<url-mapping id="viewItem"> <pattern value="/store/item/#{ iid : bean.itemId }/" /> <view-id value="/faces/shop/item.jsf" /> <action>#{bean.loadItem}</action> </url-mapping>
此外,如果導航是由先前的操作方法調用的,則將不會執行第一個方法以外的后續操作方法:
就是說,如果您不從URL綁定值,為什么不只在Bean中調用其他方法,或者獲取要以其他方式傳遞的值?
在1.2x及更高版本的JSF中,可以在第一次呈現頁面時調用的bean方法上使用@PostConstruct。
在您的情況下,將頁面add_product.xhtml綁定到Bean,並裝飾要使用@PostConstruct調用的方法
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.