Seam2.2.0GA facesMessages.add来自Resource Bundle()不适用于JBoss 5.1.0GA

时间:2010-01-21 14:41:14

标签: java jsf jboss seam

这似乎是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不同? 真的需要帮助。

2 个答案:

答案 0 :(得分:0)

在Seam 2.2中添加消息的推荐方法是使用StatusMessages而不是FacesMessages。 FacesMessages类中的一些方法已被弃用,请查看seam文档和javadoc。

答案 1 :(得分:0)

是的,因为kpolice说你应该使用

StatusMessages.instance().addFromResourceBundle("whatnot");

不推荐使用FacesMessages