1.ajax4jsf想要显示<h:message/>时,必须在<h:message/>上添加<a4j:outputPanel ajaxRendered="true">

2.如果想刷新<f:verbatim>里面的内容,也需要添加<a4j:outputPanel ajaxRendered="true">。

原理是像<h:message>之类的组件在没有验证或转换错误时页面生成的html代码是没有它们的,所以必须在它们外面再加上一层。当然你可以用其他的如<h:panelGroup>或者<h:panelGrid>之类的组件来替换<a4j:outputPanel>。<f:verbatim>也类似,因为它里面的内容会由jsf重新生成也难以用id来定位。

ajaxRendered="true" 属性表示页面上任何ajax触发的更新,而不仅仅是对<a4j:outputPanel>的id进行reRender的ajax请求。
评论
发表评论

您还没有登录,请登录后发表评论