2010-09-24 15 views
1

我有一個顯示實體的頁面,但在呈現頁面之前,我需要根據傳入的參數執行對實體的查找。爲此,我試圖使用我的pages.xml文件中聲明的Seam Page Action在呈現頁面之前調用查找操作。我的設置是這樣的:不被稱爲的頁面操作

在pages.xml:

<page view-id="/mypage.xhtml" action="#{mylookup.lookupEntity}"></page> 

我的動作類:

@Name("myLookup") 
@AutoCreate 
public class MyLookup { 

@RequestParameter 
private String myParam; 

... 

public void lookupEntity() { ...} 

... 
} 

一切看起來沒什麼問題,但是當我點擊一個鏈接,帶我去那個頁面,我的lookupEntity()動作永遠不會被調用。我添加了斷點和日誌記錄,很明顯,它永遠不會被調用。

這是什麼原因?有什麼地方我應該尋找更多的信息,爲什麼這失敗?

回答

2

簡單因爲調用的組件名稱(#{} mylookup.lookupEntity)不匹配組件名稱(#{} myLookup.lookupEntity)。

+0

+1,是的,你需要更改爲'#{myLookup.lookupEntity}' – 2010-09-27 10:41:32

+0

這只是一個示例,顯示我如何配置動作和pages.xml。這不是複製/粘貼代碼:) – Shadowman 2010-09-27 14:35:11

+0

@Shadowman感謝您的回覆。你有沒有試過SeamT​​est? mypage.xhtml文件放在哪裏?哪個Seam版本?一些額外的信息? – 2010-09-27 16:03:35

0

我也懷疑它不起作用,直到我用log.info替換log.trace並且看到了它。也許你們中的一些人正在陷入我經歷的同一陷阱。