JSF的消息处理的一点补充说明
2014-09-17 08:49
260 查看
首先上后端消息处理的一段代码:
FacesContext.getCurrentInstance().addMessage("form", new FacesMessage(FacesMessage.SEVERITY_ERROR, "这里是消息","这里是消息明细"));这里有三个参数,第一个引号的地方应该填message标签for属性的内容,记住不要填ID,我没看过源码,但是我猜测这个消息应该是发给一个UI组件,然后由组件来派发消息的, FacesMessage 里面后面两个参数一个是消息内容,一个是消息明细说明(这个显示与否是由showDetail="true"来决定的 ),好了,说完这个再上一段代码
<h:body> <p:messages/> <h:form id="form"> <p:message for="form"/> <p:messages/> <h:outputLabel for="test" value="测试" /> <p:inputText id="test" label="测试"></p:inputText> <p:message for="test"/> <p:commandButton type="submit" action="#{test.test}" update="form"/> </h:form> </h:body>看看这段代码,比较有意思,首先说说<p:messages/>,这里面有两个,一个实在form外面,一个是在form里面,当submit的时候后端如果有消息发出来,比如
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "这里是消息",null));将会是什么情况呢?试试看,结果是form外的message没有反应,而form内的倒是打印出了消息.还有一点要说明的就是<p:messages/>这个是会打印出form里面所有的消息,也就是说<p:message for="test"/>和<p:message for="form"/>打印出来的消息都会在<p:messages/>里面也打印出一份,有点冒泡的味道,也许实际实现就是冒泡的(没看源码,只是猜测,错了别拍我).接下来是说说<p:message for="form"/>这个,这个for属性很有用,在讲addMessage方法的时候就说过第一个参数,和这个参数是对应的,这样消息就可以打印到你需要地方了.最后就是消息的级别,这个请参考google,我不便转发,嘿嘿
相关文章推荐
- 关于在组件GIS开发中使用Python的一点补充说明
- 关于asp.net无刷新联动的一点补充说明
- FastCGI处理HTTP头得一点说明
- 一点WM_ACTIVATE消息的说明记录
- 小e开发板音频模式下的处理流程(i2s和slc和补充MES_FILE_TRANSFERS消息类型等)
- 关于UDP消息服务抛出“远程主机强迫关闭了一个现有的连接”的异常说明及处理方法
- 关于asp.net无刷新联动的一点补充说明
- VC6.0中对消息的特殊处理--PreTranslateMessage说明
- 进一步详细说明MFC中Win消息处理、运行机制
- 关于控件子类化(消息处理的一点心得)
- CERTI之RTIG消息处理模块实现细节的举例说明(一)
- 在DataGrid(WebControl)中处理DropDownList事件的补充说明
- JSF全面理解之消息处理
- VC6.0中对消息的特殊处理--PreTranslateMessage说明
- VC++ 对话框程序响应键盘消息的处理方法的说明(非常重要)
- 灰度图像--图像分割 阈值处理之补充说明
- Fireworks和Photoshop的区别 悬赏分:0 - 解决时间: 2009年10月01日 19时07分 Adobe收购的Macromedia之后,保留了Fireworks,那么新的Adobe Fireworks和Photoshop定位有什么不同呢?有没有重叠的地方,Photoshop的功能是不是Fireworks的超集? 提问者: yinn_ivan77 - 中级魔法师 六级 发消息 加为好友 最佳答案 当然不是,photoshop有的功能fireworks一般也都有只是在位图处理上ps要好一点,
- 关于UDP消息服务抛出“远程主机强迫关闭了一个现有的连接”的异常说明及处理方法
- 关于消息队列的一点说明
- LINQ学习篇(3) -- 对匿名类型的一点补充说明