2010-11-10 71 views
3

我使用事件作用域組件作爲視圖控制器。我需要有控制器,其中,I可以做授權檢查在一個「初始化」的方法,從JPA加載一些實體等請求參數設置後的Seam組件初始化方法

問題是,如果我選擇這樣做,在一個@Create方法,在page.xml定義的參數尚未設置(通過GET)。 @RequestParameter字段被設置,但它們不夠靈活 - 不能在組件的內部類中使用它們,或者只能在bean路徑的更深處使用它們。例如,我可以將name=abc指定爲#{controller.user.name},但只能使用@RequestParameter的組件級設置程序。

是否有另一種方法來執行「init」方法,其中設置了所有請求參數,然後呢?

+0

我想你是指事件範圍,而不是請求範圍。 @RequestParameter通常從發佈表單開始設置。你的情況也是這樣嗎? – 2010-11-11 18:00:50

+0

GET請求在這種情況下。是的,事件範圍。 – 2010-11-12 08:21:18

+1

爲什麼在實際調用組件之前需要預授權檢查或預加載某些實體?難道你只是在你的控制器行動開始時才做這些事情嗎? – kraftan 2010-11-12 22:16:37

回答

2

無法找到解決的辦法,畢竟ü可以試試這個。將項目移至Spring MVC。

0

可能以U page.xml

<param name="xxx" value="#{component.xxx}"/> 
<action execute="#{component.init}"/>