2012-03-09 68 views
0

我有一個名爲page1.jsf的頁面,其中包含一個參數。我有一個命令按鈕,其中包含參數。點擊按鈕後,它必須返回到page1.jsf以及我傳遞的任何參數。JSF 2.0將參數傳遞給同一頁面

<h:commandButton action="#{myBean.DoSthng}" value="Something" > 
<f:param name="p1" value="sthng"></f:param> 
</h:commandButton> 

如何將此參數傳遞給page1.jsf本身?

在faces-config.xml中 - 管理豆,我將它設置這樣

<managed-bean> 
    <managed-bean-name>myBean</managed-bean-name> 
    <managed-bean-class>com.MyBean</managed-bean-class> 
    <managed-bean-scope>session</managed-bean-scope> 
    <managed-property> 
    <property-name>p1</property-name> 
    <value>#{myBean.p1}</value> 
    </managed-property> 
</managed-bean> 

,這是給我的錯誤。

你能幫我嗎?

EDIT

從第1頁我必須從一個操作來輔助bean傳遞值。支持bean應該將我重定向回page1,但內容不同!

+1

可否請您解釋'將此參數傳遞給page1.jsf本身?' – 2012-03-09 11:38:34

+0

@JigarJoshi編輯問題,再次查詢 – sameer 2012-03-09 11:43:03

+0

還是不清楚,你的意思是傳遞像'page1.jsf?param = val'這樣的參數嗎? – 2012-03-09 11:45:18

回答

0

你把隱藏字段您的PARAM,這將是可用的

<input type="hidden" id="sl" name="sl" value="#{param.sl}"/> 

然後你就可以使用它

${param.sl} 
+0

沒有使用隱藏字段,只是使用$(param.s1)..它的工作,謝謝隊友我得到循環錯誤:) – sameer 2012-03-11 04:01:25

0

從頁面正在撥打的是action所以在返回你可以做以下

return "someView.jsf?param=val&faces-redirect=true" 
+0

所以我已經正確地將參數傳遞給我的頁面? – sameer 2012-03-09 11:55:56

+0

那麼你想訪問頁面上的參數,或者你想傳遞參數到頁面的行動? – 2012-03-09 11:57:22

+0

請參閱編輯 – sameer 2012-03-09 12:07:06

1

儘管我不太清楚你想達到什麼目的, D使用的f:setPropertyActionListener

<h:commandButton action="#{myBean.DoSthng}" value="Something" > 
    <f:setPropertyActionListener target="#{myBean.p1}" value="something" /> 
</h:commandButton> 

這將設置後臺bean的屬性,如果你從你的操作方法返回null(或者如果它是無效的)當前頁面應該反映到您的支持bean所做的更改。