我正在创建一个包含大量输入字段的“大”表单。 为了方便起见,我尝试创建一个facelet组件,它封装了用于创建一个包含两个columsn的表的代码,其中第一个col包含标签,第二个col包含输入字段。
包含该组件的标签如下所示:
<ft:textInput cid="city" label="City:"
value="#{registrationBean.deal.city> }" />
textInput组件的源代码(简化):
<param name="inputField" value="#{value}" />
<ice:inputText id="#{cid}" value="#{inputField}"
required="true">
</ice:inputText>
虽然表单看起来很安静但我遇到的问题是用户的值不会写回bean中。我认为原因是#{registrationBean.deal.city}只被评估一次,但是在提交表单时没有。我想我在推理方面有一些严重的错误,但我找不到关于此的好文件。
感谢任何提示。
答案 0 :(得分:0)
我不确定为什么就是这种情况,因为我不经常使用f:param标签,但你可以设置
<ice:inputText id="#{cid}" value="#{value}" required="true"/>
直接。这就是我的工作,而且效果很好。
答案 1 :(得分:0)
您也可以考虑使用panelGrid和/或panelGroup标签来定义自己的html表。这有助于更好的维护。