【发布时间】:2011-02-06 17:31:14
【问题描述】:
我可以在运行 valuechangelistener 方法时重新渲染 jsf ui 组件吗? 我问的原因是我的 valuechangelistener 方法更改了支持 bean 中输入框的值,但它们似乎没有被重新渲染。 最终会发生的是,打印在屏幕上的值被保存到支持 bean,覆盖通过 valuechangelistener 方法加载的值。
以下不起作用:
<h:inputText id="inputbox_id" value="#{name}"/>
<h:selectOneMenu valueChangeListener="#{myBean.changeCountryMenu}">
<a4j:support event="onchange" rerender="inputbox_id" action="#{bean.test}>
</h:selectOneMenu>
请注意 bean.test() 永远不会运行。 (更新:确实如此,我之前有一个 renderResponse() 跳过它。但这些值仍然不会重新渲染)
所以我想到的解决方案是从valueChangeListener重新渲染输入框。
如果有其他更好的解决方案,我会很高兴听到...
谢谢! 本。
【问题讨论】:
-
这不是问题的答案...问题是“我可以从支持 bean 代码重新渲染 JSF 组件吗?”而不是“我可以从 jsf 重新渲染 JSF 组件吗?”
-
我猜你所说的“this”指的是我的回答。它没有回答标题,但它回答了问题中描述的问题