[SEAM] addFromResourceBundle 无法在 sessionBean 中使用
wangyu4882
2009-06-20
我总是没办法得到message.properties中的值。 请大家帮忙看看啊。 这个问题不解决项目就卡住了。 谢谢啊。
@Stateless @Name("authenticator222") public class AuthenticatorAction implements Authenticator { @In FacesMessages facesMessages; public boolean authenticate() { facesMessages.addFromResourceBundle("unicore.rtp.login.fail"); return false; } } message.properties unicore.rtp.login.fail=aaaaaaaaaaaaaaaaaaaaaaaaaaaa face-config.xml <?xml version='1.0' encoding='UTF-8'?> <faces-config version="1.2" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd"> <application> <view-handler>com.sun.facelets.FaceletViewHandler</view-handler> </application> </faces-config> 问题补充。 如果使用普通POJO 作为back bean. 则message 显示正常。 如果使用session bean (包括 stateless, stateful),message 都无法显示。 很奇怪啊 @Name("authenticator") public class AuthenticatorBean { @In FacesMessages facesMessages; public boolean authenticate() { facesMessages.addFromResourceBundle("unicore.rtp.login.fail"); return false; } } 测试环境 jdk jdk1.6.0_04 jboss-5.0.0.GA jboss-seam-2.1.1.GA 中文 window xp sp2 经过测试。 在jboss-4.2.3.GA 上工作正常。 jboss-5.0.0.GA 上无法显示。 |
|
andyhan
2009-06-26
何不尝试一下这种方式:
facesMessages.add("#{messages['unicore.rtp.login.fail']}"); |
|
tyshan
2009-07-07
我都是用FacesMessages.instance().addFromResourceBundle(key, ....);
|
|
wangyu4882
2009-07-08
andyhan 写道 何不尝试一下这种方式:
facesMessages.add("#{messages['unicore.rtp.login.fail']}"); 成功了, 但是你知道原因么? 为什么直接使用addFromResourceBundle不行呢? |