我需要构建一个动态放置 inputText 字段的表单,我正在使用以下代码:
<h:form>
<c:forEach items="#{userBean.getFieldList()}" var="field">
<h:inputText value="#{userBean.getFieldValue(field.name)}" />
</c:forEach>
<h:commandButton value="Login" action="#{userBean.loginAction}" />
</h:form>
var 字段是元数据,不拥有字段值,仅拥有它们的属性。所以我用
#{userBean.getFieldValue(field.name)}
获取 bean 字段值。如果仅用于查看页面,则上面的代码效果很好。但不在表单提交上,因为无法按字段名称设置字段值。有没有办法解决这个问题?有没有一种通用的方法来动态构建一个 back bean 编辑表单?