클래스 경로에서 속성 파일을로드하는 f : loadBundle이 있습니다. 나중에 f : loadBundle을 사용하는 동안 javax.el.PropertyNotFoundException ...이 스펙이 올바르게 구현되고 있습니까?
<f:loadBundle basename="com.xxx.ui.messages" var="msg" />
, 나는 다음과 같은 구문을 사용하여 자원 번들에서 메시지를 사용하려고 해요 :
<h:outputText value="test message: #{msg.does_not_exist} --"/>
그것은 JSF는 "을 (를) 찾을 수 없습니다"라는 메시지를 출력 것이 될하는 데 사용, 하지만 이제는 예외가 발생합니다. 사양이 변경 되었습니까, 아니면 올바른 동작입니까?
저는 JUEL 2.2.4와 함께 Mojarra 2.1.9를 EL 해결 프로그램으로 사용하고 있습니다. 여기에 스택 트레이스는 다음과 같습니다
javax.el.PropertyNotFoundException: /WEB-INF/xxx.xhtml @10,70 value="test message: #{msg.does_not_exist} --": Property 'does_not_exist' not found on type java.util.PropertyResourceBundle
at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:111)
at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:194)
at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:182)
at javax.faces.component.UIOutput.getValue(UIOutput.java:169)
at com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getValue(HtmlBasicInputRenderer.java:205)
at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.getCurrentValue(HtmlBasicRenderer.java:355)
at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeEnd(HtmlBasicRenderer.java:164)
편집 : 올바른 동작은 여기에서 확인할 수 있습니다 : http://javaserverfaces.java.net/nonav/docs/2.0/vdldocs/facelets/f/loadBundle.html 리터럴 문자열 ??? KEY는 ??? KEY 인지도에서 반환 말한다
(키 존재 대신
EDIT)를 사용해 MissingResourceException가 슬로우되는,지도에서 조회 : 같은 문제도 그래서 대답은 실제로 얼굴을 쳐다보고 JUEL
이전에 다른 JSF 구현을 사용 했습니까? "쓰레기 반환"은 항상 바보 같은 행동입니다. – millimoose
나는 올바른 행동이라고 확신한다 ... 좋든 나쁘 든. 여기를 참조하십시오 : http://stackoverflow.com/questions/6451215/jsf-how-to-remove-the-surrounding-if-message-not-found-in-messagebundle –
확인 된 ??? 존재하지 않는다 ?? 여기에있는 문서에 따라 반환되어야합니다 : http://javaserverfaces.java.net/nonav/docs/2.0/vdldocs/facelets/f/loadBundle.html –