从另一个bean初始化bean值(一次)

时间:2014-05-28 08:57:32

标签: java jsf jsf-2 primefaces

一旦显示页面,我想从另一个bean设置bean的值。包含目标dataTable,因为它也用于另一个上下文中。 就像我之前说的那样,涉及两个bean:

  • bean1'得到'参数,将加载一个对象并显示一些属性。
  • bean2是负责在dataTable中过滤/搜索的bean。

相关部分:

<f:metadata>
  <f:viewParam name="objectId" value="#{bean1.objectId}" />
</f:metadata>
<!-- resolving works -->
#{bean1.object.name}

包括搜索:

<p:dataTable>...<p:inputText value="#{bean2.value}">...</p:dataTable>

如何在页面请求时将bean1.object.name的(子字符串)分配给输入文本的值,但保留字段的现有值属性?我不想搞砸包含的页面但更愿意解决它&#34;外面&#34;在我的包含jsf / xhtml文件中。

1 个答案:

答案 0 :(得分:0)

执行此操作的最佳方法是使用javascript。
定义输入隐藏标记以保存#{bean1.object.name}的值。
现在在javascript中使用document.getElementById(&#34;&#34;)获取此字段的值。值
使用子字符串并使用javascript分配给输入文本字段。