这似乎是Seam2.2.0GA的一个错误或者我错过了什么,这里是senario: 使用seam-gen生成虚拟项目,更改hot文件夹中的AuthenticatorBean.java:
添加:
@In FacesMessages facesMessages;
public boolean authenticate() {
...
facesMessages.addFromResourceBundle("hello");
}
也改变了
的.war / WEB-INF /类/ messages_en.properties
,添加新行:
hello="this is the test messages";
现在在JBoss4.2.3GA上部署它,并转到http://localhost:8080/ {projectname} /login.seam,点击提交,它将在页面顶部显示正确的消息。
在JBoss5.1.0GA上部署相同的耳朵,点击login.seam上的提交,它将显示“hello”而不是真实的消息。
在JBoss4.2.3GA上,甚至从.ear / META-INF /文件夹中删除jboss-app.xml,它仍然可以正常工作。 在JBoss5.1.0GA上,无论添加/删除/更改使用jboss-app5.dtd,它都不起作用。
只有在我尝试在EJB中使用faceMessages时才会发生这种情况。看来JBoss5.1类加载器的行为与JBoss4.2.x不同? 真的需要帮助。
答案 0 :(得分:0)
在Seam 2.2中添加消息的推荐方法是使用StatusMessages而不是FacesMessages。 FacesMessages类中的一些方法已被弃用,请查看seam文档和javadoc。
答案 1 :(得分:0)
是的,因为kpolice说你应该使用
StatusMessages.instance().addFromResourceBundle("whatnot");
不推荐使用FacesMessages