2012-01-23 59 views
0

我需要將值(來自Textbox的輸入)作爲參數發送給方法&我是JSF的新手。JSF&發送參數

說我有一個表格,鏈接到一個託管bean

<h:form id="myForm"> 
    <h:inputText id="atribute1" value="#{myBean.atribute1}"></h:inputText> 
    <h:inputText id="atribute2" value="#{myBean.atribute2}"></h:inputText> 

    <h:commandButton id="btn" value="SendData" action="#{myBean.save}"> 
    <p:param name="param1" value="${atribute1}"/> 
     <p:param name="param2" value="${atribute2}"/> 
    </h:commandButton> 
</h:form> 

託管bean有一個「保存」的方法(我在這裏做了它無效的方法,但是Eclipse似乎希望它返回一個字符串??)

public void save() { 
FacesContext context = FacesContext.getCurrentInstance(); 
Map<String,String> params = context.getExternalContext().getRequestParameterMap(); 
String param1= params.get("param1"); 
String param2= params.get("param2"); 

System.out.println("param1:"+param1+" & param2:"+param2); 
} 

這似乎沒有做任何事情,我沒有打印任何值,但我沒有崩潰。所以任何人?

回答

1

假設您想要在保存方法中採用值。

您已經將鏈接的文本框通過value="#{myBean.atribute1}"其中指出vallue進入這裏將是在一個名爲mybean,託管bean的屬性atribute1可進入到後臺bean的值當您提交的頁面,您可以在保存方法存取權限它們直。

public void save() { 
    System.out.println("param1:"+this.attribute1+" & param2:"+this.attribute2); 
} 

確保您有getter/setters這兩個屬性並從commandbutton中刪除子標籤。