2014-04-17 6 views
0

QA와 ops 사람들이 새로운 전쟁을 일으키지 않고 메시지를 수정할 수 있도록 전쟁 밖에서 JSF messages.properties를 이동 중입니다.JSF 리소스 번들이 JBoss 7 모듈에있을 때이를 선언하는 방법은 무엇입니까?

JBoss 7 모듈을 만들고 $ JBOSS_HOME/modules/com/acme/revenue/main/messages.properties에 messages.properties 파일을 저장했습니다. 내가

<module name="com.acme.revenue"/> 

을 포함하도록 JBoss에 배포-structure.xml 업데이트 내가 $ JBOSS_HOME에서/모듈/COM/ACME가/수익/메인 A을 Module.xml 파일을 넣어. 포함 내용 :

<?xml version="1.0" encoding="UTF-8"?> 
<module xmlns="urn:jboss:module:1.1" name="com.acme.revenue"> 
    <resources> 
     <resource-root path="."/> 
    </resources> 
</module> 

이 모든 것이 작동합니다. Java 코드에서 다음을 호출 할 수 있습니다.

ResourceBundle bundle = ResourceBundle.getBundle("messages", Locale.getDefault()); 
bundle.getString("TargetingKey") 

번역 된 값 "Income Targeting"이 리턴됩니다. 그러나 JSF .xhtml 파일에서 # {messages.TargetingKey} 코드를 호출하면 JSF가 리소스 번들을 찾지 못해서 작동하지 않습니다.

는 변경하기 전에 얼굴-config.xml에 다음과 같은 포함하고 괜찮 았는데 :

<resource-bundle> 
    <base-name>com.acme.revenue.messages</base-name> 
    <var>messages</var> 
</resource-bundle> 
나는이 JSF 선언 번들을 발견하고 메시지를 표시하는 문제를 해결할 수 방법

?

감사합니다. 모듈을 만들 때

답변

0

당신이 그렇게 당신이 베이스 이름에만 파일 이름의에 넣어해야합니다 자원 번들 선언에서 faces-config.xml에 대한 고정 수입 같은 역할을하는 name=com.acme.revenue했다 속성 파일.

<resource-bundle> 
    <base-name>messages</base-name> 
    <var>messages</var> 
</resource-bundle>