有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java JSR303 i18n在基于Primefaces的页面中不工作

我正在尝试定制(包括i18n)JSR303,但我总是

### Message 'msg.test.validation' not found ###

我已经创建了一个ValidationMessages。包含内容的属性文件

msg.test.validation=This is a test

文件(包括ValidationMessages_de.properties、_de_de.properties和_en.properties)放置在src/main/resources中。在war文件中,文件位于WEB-INF/classes(标准maven行为)

在我的托管bean中

@NotNull    
@Pattern (regexp="^[_A-Za-z0-9-]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$", message = "{msg.test.validation}")
private String test;

基于Primefaces 6.0的页面包含

<h:form>
  <p:inputText id="test" value="#{validationView.test}" label="Test" />
  <p:commandButton id="testbutton" action="#{validationView.showTest}"  value="Test" validateClient="true" />
  <p:message for="test" />
</h:form>

我似乎找不到ValidationMessages,但为什么?如果我放置了一条消息而不是占位符“msg”。测验“验证”将显示此消息

有什么提示吗


共 (1) 个答案

  1. # 1 楼答案

    这应该在prime faces组件中起作用,如下所示:

    <p:inputText validatorMessage="#{message['msg.test.validation']}" />