【发布时间】:2015-01-21 12:21:21
【问题描述】:
有没有办法指定提交后输入的设置顺序?
这是我的情况:
<h:inputText id="fieldA" value=#{myBean.myObject.fieldA}" />
<h:inputText id="fieldB" value=#{myBean.myObject.fieldB}" />
<p:autoComplete id="myObject" value=#{myBean.myObject" converter="myObjectConverter" />
<h:inputText id="fieldC" value=#{myBean.myObject.fieldD}" />
<h:inputText id="fieldD" value=#{myBean.myObject.fieldC}" />
我遇到的问题是,由于输入是按声明的顺序处理的,因此在 myObject 的初始实例中设置了 fieldA 和 fieldB,然后设置了 myObject(使用新实例,因此字段 A 和 fieldB 的值是丢失),最后 fieldC 和 fieldD 设置没有问题。
如果我能设法先设置 myObject 开始,那将解决我的问题。
我将临时将字段和 myObject 设置为我的 bean 的两个不同属性,并在单击保存按钮后填充 myObject。但它看起来更像是一种 hack,而不是真正的解决方案。
不用说,在输入文本之前声明自动完成不是一种选择。
提前致谢。
【问题讨论】:
-
对于这样的情况,我通常会定义
fieldA和fieldB(甚至fieldC和fieldD作为myBean的属性,并在访问时将值应用到myObject来自控制器的对象。 -
我更新了我之前的(无价值的)答案,请看 :)
标签: jsf primefaces