我正在使用JSP作为视图技术的JSF。我想在下面的程序中使用国际化。
这是 test.jsp :
<head>
<f:loadBundle basename="com.infy.resource.Lang" var="label" />
</head>
<body>
<f:view>
<h:form>
<h:outputText value="#{label.Enter_User_Id}" /><br>
<h:inputText value="#{testBean.userId}" required="true" requiredMessage="#{label.Enter_User_Id}"/><br>
<h:commandButton value="#{label.Login}" action="/test.jsp"/>
</h:form>
<h:messages style="color:red;"></h:messages>
</f:view>
</body>
这是我的 Lang.properties 文件:
Enter_User_Id=Enter User Id
Login=Login
但是jsf无法从 Lang.properties 文件中读取requiredMessage
。
虽然它能够读取<h:outputText>
的标签。
有人能说明为什么它不起作用吗?
是否因为JSF生命周期? 所需的验证在阶段3 - 过程验证中完成,并且在阶段4 - 更新模型阶段中从属性文件中读取值。如果验证失败,则跳过阶段4和5,直接到达阶段6 - 渲染响应阶段以显示错误按摩。
如果我错了,请帮我纠正,并提出一种从Lang.properties文件中读取requiredMessage的方法吗?