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:ou ...
当ajaxSingle为true时,只是提交当前组件,而对于其他组件是不提交的,它的附带效果就是只对当前组件进行验证,而对其他的组件不会作任何验证。这一点上对于button和link来说感觉和immediate="true"的效果很相似,即跳过所有验证,当然只是效果除此以外它们完全是不同的。 不知道a4j是如何实现的,因为a4j还是遵循jsf的生命周期的,所以估计会有这么一句:FacesContext.getCurrentInstance().renderResponse(),也不知到哪有源码下。 在a4j:support中也有immediate=true 这个属性,工作流程和jsf一样。
firefox打开和关闭窗口时会自动的加载onload()和onunload()函数。但在IE中则不会,为使javascript能在这两个浏览器中运行。可以使用下面的方法。 addEvent(window, 'load', winonload, false); function addEvent(elm, evType, fn, useCapture){ if(elm.addEventListener){ elm.addEventListener(evType, fn, useCapture); return true; }els ...