2011-07-26 47 views
0

是否可以將參數從JSP頁面傳遞到JSF頁面的支持bean?從JSP傳遞值到JSF頁面支持bean

當我調用JSF頁面中的按鈕和我在JSP頁面中選擇的值時,JSP頁面是彈出窗口,我應該能夠傳遞給JSF的支持bean。

P.S.當我添加評論時,如果有人回覆,我將@anyname添加到了,@namyname部分正在被截斷。

更新1

獲取所選值從JSP到豆我做了一個粗糙的方法。

我加在JSP

String str = request.getParameter("selectname"); 

的下面和分配字符串str的隱藏字段

<input type="hidden" name="hid" value="<%=str%>" /> 

,並在我的豆我越來越像下面

logger.info("jsp value "+FacesContext.getCurrentInstance().getExternalContext() 
       .getRequestParameterMap().get("hid")); 

這幾乎工作,除了我總是得到我以前選擇的價值。 例如第一次當我選擇1並且bean返回的值爲null時,第二次當我選擇2時,返回的值爲1.

我怎樣才能在我的bean中獲取當前選定的值?

回答

2

首先,如果你JSF視圖技術是JSP,那麼你可以使用<h:>標籤在jsp和它變得簡單0只需添加一個<h:commandButton action="#{yourBean.yourMethod}" />

否則,你仍然可以也許,但我建議你讓你的彈出窗口也是一個JSF頁面。 JSF和JSP不能很好地共存。如果您確實必須保留這種情況,那麼您可以嘗試模擬對目標jsf URL的JSF POST請求。

+0

如果我可以使用'',那麼我怎樣才能將值傳遞給bean或JSF?你可以善解釋一下嗎?感謝 – user75ponic

+0

好,常規方法:' Bozho

+0

當我點擊' user75ponic

1

f:viewParam讓你聯想豆 性能與請求參數 -

- 這引入了一些新的功能

是通過GET而不是POST和標籤導航
  • 新標記, 通過GET來代替導航POST和發送參數以及 地址
  • 將數據從非JSF表單發送到JSF頁面
  • 使結果頁結果頁可加書籤
  • 這是JSF 2中的一項新功能。0
  • 例如: <f:viewParam name="fg" value="#{colorPreferences.foreground}" />
  • 如果「FG」參數非空,它被傳遞給 setForeground呈現頁面時

    <f:metadata> 
    <f:viewParam name="param1" value="#{bean.prop1}"/> 
    <f:viewParam name="param2" value="#{bean.prop2}"/> 
    </f:metadata> 
    <h:head>…</h:head> 
    <h:body> 
    Blah Blah blah #{bean prop1} , blah, #{bean.prop1} 
    </h:body> 
    

    如果頁面調用page.jsp?param1=foo&param2=bar,然後前「富」「酒吧」傳遞給「setProp1」「setProp2」前頁面呈現。如果任何參數爲空(即,沒有這樣的請求參數存在),那麼相關的制定者是不是在所有的調用,並且bean有其正常價值,物業

你可以找到答案JSF教程http://www.coreservlets.com/JSF-Tutorial/jsf2/

+0

我正在使用JSF 1.1 – user75ponic

相關問題