3
我有一個非常複雜的JSF頁面讀取動態輸入元素(我們使用JSF2用的facelet),其中我要「插電式」純HTML窗體節(它代表了一個文檔所見即所得模板將在稍後創建爲PDF)。 非常簡化的頁面看起來像JSF的託管bean
<h:form id="formEditDoc">
<p:commandButton styleClass="commandButton" value="Save"
actionListener="#{myBean.myAction}" update="masterForm:msg">
</p:commandButton>
<!-- some jsf controls here -->
....
<!-- this is my dynamic section -->
<input id="ft2" type="text" value="foo"/>
</h:form>
在Managed Bean爲myBean(請求範圍)我有動作監聽中,我試圖讓「foo」的字符串,以這樣的方式
String text1 = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get("ft2");
但我無法獲得價值。 Text1始終爲空。我甚至試圖設置AJAX =假到命令,但沒有任何改變。 什麼我做錯了任何想法?
首先第一件事情:謝謝你的解決方案。對於一般的方法,我的問題更復雜。我不能使用@ManagedProperty(「#{} param.ft2」)私人字符串平方英尺;技術,因爲我不知道我的網頁上有多少輸入字段:它們取決於用戶可以創建自己的某個模板。出於同樣的原因,我不能使用inputHidden:首先,我希望輸入框可以被用戶看到並且可以編輯,其次我不知道他們會需要多少人。 – themarcuz
爲這些輸入提供所有**相同的**名稱,並在'String []'屬性上使用'#{paramValues.ft}'。它們將按照出現在HTML DOM中的順序顯示。對不起inputhidden,這是一個愚蠢的想法,我忽略了你沒有使用'型=「隱藏」'。 – BalusC