Posted on 2009-01-20 14:48
非洲小白脸 阅读(205)
评论(0) 编辑 收藏 所属分类:
JSF
带参数的Message信息设定:
tag部分介绍了带参数的Message在前台的设定,现在来看看后台的参数设定。
....
String message = rsBundle.getString(
"test.message2");
Object[] params = {"param1", "param2"};
message = java.text.MessageFormat.format(message, params);
FacesMessage facesMessage = new FacesMessage(
FacesMessage.SEVERITY_FATAL, message, message);
....
FacesMessage建构时所使用的三个参数是严重程度、概述讯息与详述讯息,严重程度有SEVERITY_FATAL、SEVERITY_ERROR、SEVERITY_WARN与SEVERITY_INFO四种。
Message信息的表示可以在页面上用标签<h:messages>,也可以直接转移到特定的error画面,前面的例子已经说明了这一点。
我们可以在faces-config.xml配置文件中设置<navigation-rule>中设置每个画面的Error跳转,也可以设置类似拦截器的东西,将同一类型的错误统一转至Error画面。
Error拦截器可以根据exception-type或者error-code来分辨。
如下:
<error-page>
<exception-type>javax.faces.FacesException</exception-type>
<location>/pages/test.jsp</location>
</error-page>
或者
<error-page>
<error-code>500</error-code>
<location>/pages/test.jsp</location>
</error-page>
添加到Web.xml中去就可以了。