我遇到了一个问题:
我在后台已经确定给一个变量赋值了,但是前台页面上仍显示初始化的值,而并不是我赋的值。
解决方法:
使用reRender属性。
比如<a4j:commandButton .... reRender="number" .... >
这个属性会把id为number的元素重新渲染一遍。
如果是一个会显示后台数据的元素,则会重新去后台取数据。
如:
<h:outputText id="number" value="#{data.number}"/>
Reference:
我在后台已经确定给一个变量赋值了,但是前台页面上仍显示初始化的值,而并不是我赋的值。
解决方法:
使用reRender属性。
比如<a4j:commandButton .... reRender="number" .... >
这个属性会把id为number的元素重新渲染一遍。
如果是一个会显示后台数据的元素,则会重新去后台取数据。
如:
<h:outputText id="number" value="#{data.number}"/>
Reference:
<h:panelGroup id="errorMsg">
<h:outputLabel rendered="#{XXXXX.errorMsgIsRendered}"
value="Name is required
!
"/>
</h:panelGroup>
.......
<a4j:commandButton id="save" value="Save" eventsQueue="coding"
action="#{XXXXX.showErrorMessage}"
oncomplete="#{XXXXX.popupProcessControl}"
reRender="errorMsg" />
在
XXXXX
的
showErrorMessage
这
个
方
法
中
是
通
过
页
面
上
的
name
字
段
是
否
填
写
,
来
给
errorMsgIsRendered
这个属性赋值的
,rendered
值为
false
则则不显示元素,为
true
则显示错误信息。
reRender
是重新渲染某些元素,当
rendered
的值改变后,要重新渲染才会有变化。
oncomplete
的值是一些
javascript
语句。