2010-01-13 90 views
2

點擊的圖像上後,用戶被重定向到一個新的頁面,如:參數值丟失(接縫框架)

/viewPalermoUser.seam?accountId=100245 

與代碼:

<s:link title="#{messages['palermo.userlist.view']}" view="/portal/custom/palermo/administration/viewPalermoUser.xhtml" 
          propagation="none"> 
         <f:param name="accountId" value="#{account.id}"/> 
         <img src="/static/portal/customer/palermo/find.png" style="border:none"/> 
        </s:link> 

有一個背襯豆其中我獲取帳戶ID並打印該用戶的帳戶信息(當頁面首次呈現時,所有情況都可以)。

但有一個豐富的選項卡面板和搜索按鈕。每當我按下其中一個,accountId值是NULL,雖然在url中它是OK,所以它有一個真正的價值。

我不明白爲什麼accountId的值會丟失,如果發生回發?

我拿一樣帳戶ID:

@RequestParameter 
private Long accountId; 

誰能給我一個線索?

更新:最後它的工作原理。建議使用像Petar這樣的頁面參數。有問題,直到我意識到:

接縫頁面參數在輔助bean的@Create方法中不可用。解決方法:創建一個頁面動作來使用這個參數。(必須爲他人而設)

謝謝。

+0

@Cristian Boariu已添加到原始答覆 – 2010-01-18 04:22:51

回答

2

據我所知,只有在初始請求@RequestParameter工作。爲了解決這個問題,你可以使用Seam頁面參數。放入你的頁面。xml描述符以下標記: <param name="accountId" value="#{backingBean.accountId}"/>您不需要@RequestParameter註釋。

0

點擊圖像後,用戶會被重定向到一個新的一頁 - 我想這被稱爲/viewPalermoUser.xhtml

首先,一個簡單的請求參數不下去回傳。

解決你的問題,你可以創建一個頁面參數

<page view-id="/viewPalermoUser.xhtml"> 
    <param name="courseId" value="#{courseHome.courseId}"/> 
</page> 

因此,當煤層通知

<param name="courseId" value="#{courseHome.courseId}"/> 

它創建了一個頁面參數,因爲值屬性(不要求),它是分配給courseHome.courseId屬性。頁面參數在JSF回發中存活。

如果您希望accountId在s:link(或s:button)中回傳,您必須在view-id中創建一個與相匹配的頁面參數s:link view =「/ portal/custom/palermo /administration/viewPalermoUser.xhtml」屬性

所以我們需要

<page view-id="/portal/custom/palermo/administration/viewPalermoUser.xhtml"> 
    <param name="courseId"/> 
</page> 

使用頁面參數,你不必擔心F:PARAM。 s:鏈接照顧它。因此您的accoutId頁面參數會自動添加到鏈接中。

<s:link title="#{messages['palermo.userlist.view']}" view="/portal/custom/palermo/administration/viewPalermoUser.xhtml"/> 

問候,

+0

感謝您的明確解釋。對不起,Petar的回答是正確的迴應,只是因爲它早於你的發佈。問候,克里斯蒂安。 – 2010-01-18 10:43:56