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