2014-11-09 2 views
0

Я пытаюсь использовать интернационализацию с Hibernate валидатор и SpringИнтернационализация Spring Hibernate Validation UTF8

Я нашел этот пост, который похож на мою проблему, но даже с этими конфигурациями не работает

конфигурации

My Spring I18n класс:

import org.springframework.context.MessageSource; 
import org.springframework.context.annotation.Bean; 
import org.springframework.context.annotation.Configuration; 
import org.springframework.context.support.ReloadableResourceBundleMessageSource; 
import org.springframework.validation.beanvalidation.LocalValidatorFactoryBean; 

@Configuration 
public class I18nConfig { 

@Bean 
public MessageSource messageSource(){ 

    ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource(); 
    messageSource.setBasename("classpath:i18n/messages"); 
    messageSource.setDefaultEncoding("UTF-8"); 

    return messageSource; 
} 

@Bean 
public LocalValidatorFactoryBean validator(){ 

    LocalValidatorFactoryBean factory = new LocalValidatorFactoryBean(); 
    factory.setValidationMessageSource(messageSource()); 

    return factory; 
} 

} 

Моя конфигурация родитель пОМ

<?xml version="1.0" encoding="UTF-8"?> 
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 

<modelVersion>4.0.0</modelVersion> 
<groupId>br.com.company</groupId> 
<artifactId>project</artifactId> 
<version>1.1.0</version> 
<packaging>pom</packaging> 

<properties> 
    <maven-checkstyle.version>2.12.1</maven-checkstyle.version> 
    <maven-cobertura.version>2.6</maven-cobertura.version> 
    <maven-compiler.version>3.1</maven-compiler.version> 
    <maven-enforcer.version>1.3.1</maven-enforcer.version> 
    <maven-findbugs.version>3.0.0</maven-findbugs.version> 
    <maven-javadoc.version>2.9.1</maven-javadoc.version> 
    <maven-jxr.version>2.3</maven-jxr.version> 
    <maven-pmd.version>3.2</maven-pmd.version> 
    <maven-sonar.version>2.4</maven-sonar.version> 
    <maven-surefire.version>2.17</maven-surefire.version> 
    <maven-taglist.version>2.4</maven-taglist.version> 
    <maven-versions.version>2.1</maven-versions.version> 
    <junit.version>4.11</junit.version> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> 
    <spring.version>4.1.1.RELEASE</spring.version> 
</properties> 

<reporting> 
    <plugins> 
     <plugin> 
      <groupId>org.codehaus.mojo</groupId> 
      <artifactId>findbugs-maven-plugin</artifactId> 
      <version>${maven-findbugs.version}</version> 
      <configuration> 
       <!-- Enables analysis which takes more memory but finds more bugs. If 
        you run out of memory, changes the value of the effort element to 'low'. --> 
       <effort>Max</effort> 
       <!-- Reports all bugs (other values are medium and max) --> 
       <threshold>Low</threshold> 
       <!-- Produces XML report --> 
       <xmlOutput>true</xmlOutput> 
       <!-- Configures the directory in which the XML report is created --> 
       <xmlOutputDirectory>target/site</xmlOutputDirectory> 
      </configuration> 
     </plugin> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-checkstyle-plugin</artifactId> 
      <version>${maven-checkstyle.version}</version> 
      <reportSets> 
       <reportSet> 
        <reports> 
         <report>checkstyle</report> 
        </reports> 
       </reportSet> 
      </reportSets> 
     </plugin> 
     <plugin> 
      <groupId>org.codehaus.mojo</groupId> 
      <artifactId>cobertura-maven-plugin</artifactId> 
      <version>${maven-cobertura.version}</version> 
      <configuration> 
       <formats> 
        <format>html</format> 
       </formats> 
      </configuration> 
     </plugin> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-javadoc-plugin</artifactId> 
      <version>${maven-javadoc.version}</version> 
     </plugin> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-jxr-plugin</artifactId> 
      <version>${maven-jxr.version}</version> 
     </plugin> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-pmd-plugin</artifactId> 
      <version>${maven-pmd.version}</version> 
      <configuration> 
       <linkXref>true</linkXref> 
       <source>1.7</source> 
       <sourceEncoding>utf-8</sourceEncoding> 
       <target>1.7</target> 
       <targetJdk>1.7</targetJdk> 
      </configuration> 
     </plugin> 
     <plugin> 
      <groupId>org.codehaus.mojo</groupId> 
      <artifactId>versions-maven-plugin</artifactId> 
      <version>${maven-versions.version}</version> 
      <reportSets> 
       <reportSet> 
        <reports> 
         <report>dependency-updates-report</report> 
         <report>plugin-updates-report</report> 
         <report>property-updates-report</report> 
        </reports> 
       </reportSet> 
      </reportSets> 
     </plugin> 
     <plugin> 
      <groupId>org.codehaus.mojo</groupId> 
      <artifactId>taglist-maven-plugin</artifactId> 
      <version>${maven-taglist.version}</version> 
     </plugin> 
    </plugins> 
</reporting> 

<dependencyManagement> 
    <dependencies> 
     <dependency> 
      <groupId>junit</groupId> 
      <artifactId>junit</artifactId> 
      <version>${junit.version}</version> 
      <scope>test</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-context</artifactId> 
      <version>${spring.version}</version> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-test</artifactId> 
      <version>${spring.version}</version> 
      <scope>test</scope> 
      <exclusions> 
       <exclusion> 
        <artifactId>spring-core</artifactId> 
        <groupId>org.springframework</groupId> 
       </exclusion> 
      </exclusions> 
     </dependency> 
    </dependencies> 
</dependencyManagement> 

<build> 
    <pluginManagement> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-checkstyle-plugin</artifactId> 
       <version>${maven-checkstyle.version}</version> 
       <executions> 
        <execution> 
         <id>validate</id> 
         <phase>validate</phase> 
         <configuration> 
          <consoleOutput>true</consoleOutput> 
          <encoding>UTF-8</encoding> 
          <failsOnError>true</failsOnError> 
         </configuration> 
         <goals> 
          <goal>check</goal> 
         </goals> 
        </execution> 
       </executions> 
      </plugin> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <version>${maven-compiler.version}</version> 
       <configuration> 
        <encoding>UTF-8</encoding> 
        <source>1.7</source> 
        <target>1.7</target> 
       </configuration> 
      </plugin> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-enforcer-plugin</artifactId> 
       <version>${maven-enforcer.version}</version> 
       <executions> 
        <execution> 
         <id>enforce-versions</id> 
         <goals> 
          <goal>enforce</goal> 
         </goals> 
         <configuration> 
          <rules> 
           <requireJavaVersion> 
            <version>1.7</version> 
           </requireJavaVersion> 
          </rules> 
         </configuration> 
        </execution> 
       </executions> 
      </plugin> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-surefire-plugin</artifactId> 
       <version>${maven-surefire.version}</version> 
      </plugin> 
      <!-- Usage mvn sonar:sonar --> 
      <plugin> 
       <groupId>org.codehaus.mojo</groupId> 
       <artifactId>sonar-maven-plugin</artifactId> 
       <version>${maven-sonar.version}</version> 
      </plugin> 
     </plugins> 
    </pluginManagement> 
</build> 
<modules> 
    <module>project-core</module> 
</modules> 

Мой проект POM

<?xml version="1.0"?> 
<project 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" 
xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
<modelVersion>4.0.0</modelVersion> 
<parent> 
    <groupId>br.com.company</groupId> 
    <artifactId>onceuponatime</artifactId> 
    <version>1.1.0</version> 
</parent> 

<artifactId>project-core</artifactId> 
<name>project-core</name> 
<url>http://company.com.br</url> 

<properties> 
    <aspectj.version>1.8.3</aspectj.version> 
    <embedmongo.version>1.46.1</embedmongo.version> 
    <hibernate-validator.version>5.1.2.Final</hibernate-validator.version> 
    <javax.el.version>2.2.4</javax.el.version> 
    <jodatime.version>2.4</jodatime.version> 
    <mongodriver.version>2.12.3</mongodriver.version> 
    <morphia.version>0.108</morphia.version> 
</properties> 

<dependencies> 
    <dependency> 
     <groupId>org.aspectj</groupId> 
     <artifactId>aspectjrt</artifactId> 
     <version>${aspectj.version}</version> 
    </dependency> 
    <dependency> 
     <groupId>org.aspectj</groupId> 
     <artifactId>aspectjweaver</artifactId> 
     <version>${aspectj.version}</version> 
    </dependency> 
    <dependency> 
     <groupId>de.flapdoodle.embed</groupId> 
     <artifactId>de.flapdoodle.embed.mongo</artifactId> 
     <version>${embedmongo.version}</version> 
    </dependency> 
    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-validator</artifactId> 
     <version>${hibernate-validator.version}</version> 
    </dependency> 
    <dependency> 
     <groupId>org.glassfish.web</groupId> 
     <artifactId>javax.el</artifactId> 
     <version>${javax.el.version}</version> 
    </dependency> 
    <dependency> 
     <groupId>javax.el</groupId> 
     <artifactId>javax.el-api</artifactId> 
     <version>${javax.el.version}</version> 
    </dependency> 
    <dependency> 
     <groupId>joda-time</groupId> 
     <artifactId>joda-time</artifactId> 
     <version>${jodatime.version}</version> 
    </dependency> 
    <dependency> 
     <groupId>junit</groupId> 
     <artifactId>junit</artifactId> 
     <scope>test</scope> 
    </dependency> 
    <dependency> 
     <artifactId>mongo-java-driver</artifactId> 
     <groupId>org.mongodb</groupId> 
     <version>${mongodriver.version}</version> 
    </dependency> 
    <dependency> 
     <groupId>org.mongodb.morphia</groupId> 
     <artifactId>morphia</artifactId> 
     <version>${morphia.version}</version> 
     <exclusions> 
      <exclusion> 
       <artifactId>mongo-java-driver</artifactId> 
       <groupId>org.mongodb</groupId> 
      </exclusion> 
     </exclusions> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-context</artifactId> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-test</artifactId> 
     <scope>test</scope> 
    </dependency> 
</dependencies> 

Мой португальский файл собственности имеет такие символы, как "I" и "А".

Что я делаю неправильно?

ответ

0

добавить этот код в web.xml

<filter> 
    <filter-name>encoding-filter</filter-name> 
    <filter-class>org.springframework.web.filter.CharacterEncodingFilter 
    </filter-class> 
    <init-param> 
     <param-name>encoding</param-name> 
     <param-value>UTF-8</param-value> 
    </init-param> 
    <init-param> 
     <param-name>forceEncoding</param-name> 
     <param-value>true</param-value> 
    </init-param> 
</filter> 
<filter-mapping> 
    <filter-name>encoding-filter</filter-name> 
    <url-pattern>*</url-pattern> 
</filter-mapping> 
+0

Это не веб-проект. На самом деле, это основная часть проекта, который будет потребляться мобильной частью. – arthurfnsc

+0

Удачи вам в вашем проекте –