| ページ一覧 | ブログ | twitter |  書式 | 書式(表) |

MyMemoWiki

「Spring MVC 各国語対応」の版間の差分

提供: MyMemoWiki
ナビゲーションに移動 検索に移動
 
1行目: 1行目:
==Spring MVC 各国語対応==
+
==[[Spring MVC 各国語対応]]==
 
[[Spring]] | [[Spring MVC]] |  
 
[[Spring]] | [[Spring MVC]] |  
 
*http://d.hatena.ne.jp/GreenTea2010/20110529/1306692169
 
*http://d.hatena.ne.jp/GreenTea2010/20110529/1306692169
*https://jira.springsource.org/browse/SPR-6555
+
*https://jira.springsource.org/browse/SP[[R]]-6555
*http://viralpatel.net/blogs/2010/07/spring-3-mvc-internationalization-i18n-localization-tutorial-example.html
+
*http://[[vi]]ralpatel.net/blogs/2010/07/spring-3-mvc-internationalization-i18n-localization-tutorial-example.html
 
*http://static.springsource.org/spring/docs/1.1.5/taglib/tag/MessageTag.html
 
*http://static.springsource.org/spring/docs/1.1.5/taglib/tag/MessageTag.html
===Eclipse での手順===
+
===[[Eclipse]] での手順===
  
 
====プロパティファイルを作成====
 
====プロパティファイルを作成====
15行目: 15行目:
 
=====WEB-INF/i18n/messages_ja.properties=====
 
=====WEB-INF/i18n/messages_ja.properties=====
 
  label.firstname=\u540d\u524d
 
  label.firstname=\u540d\u524d
====Spring設定ファイルにBeanの設定====
+
====[[Spring]]設定ファイルにBeanの設定====
 
  <?xml version="1.0" encoding="UTF-8"?>
 
  <?xml version="1.0" encoding="UTF-8"?>
 
  <beans xmlns="http://www.springframework.org/schema/beans"
 
  <beans xmlns="http://www.springframework.org/schema/beans"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+
     xmlns:xsi="http://www.w3.org/2001/[[XML]]Schema-instance"
 
     xmlns:mvc="http://www.springframework.org/schema/mvc"
 
     xmlns:mvc="http://www.springframework.org/schema/mvc"
 
     xmlns:context="http://www.springframework.org/schema/context"
 
     xmlns:context="http://www.springframework.org/schema/context"
32行目: 32行目:
 
     </mvc:interceptors>     
 
     </mvc:interceptors>     
 
      
 
      
     <bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
+
     <bean id="messageSource" class="org.springframework.context.support.[[R]]eloadable[[R]]esourceBundleMessageSource">
 
         <property name="basename" value="WEB-INF/i18n/messages"/>
 
         <property name="basename" value="WEB-INF/i18n/messages"/>
 
         <property name="defaultEncoding" value="UTF-8" />         
 
         <property name="defaultEncoding" value="UTF-8" />         
 
     </bean>
 
     </bean>
 
      
 
      
     <bean id="localeResolver" class="org.springframework.web.servlet.i18n.CookieLocaleResolver">
+
     <bean id="localeResolver" class="org.springframework.web.servlet.i18n.[[Cookie]]LocaleResolver">
 
         <property name="cookieName" value="locale" />
 
         <property name="cookieName" value="locale" />
 
     </bean>
 
     </bean>
 
  </beans>
 
  </beans>
====JSPでtaglibの宣言====
+
====[[JSP]]でtaglibの宣言====
 
  <%@taglib uri="http://www.springframework.org/tags" prefix="spring"%>
 
  <%@taglib uri="http://www.springframework.org/tags" prefix="spring"%>
====JSPで利用====
+
====[[JSP]]で利用====
 
=====出力=====
 
=====出力=====
 
  <spring:message code="label.firstname"/>
 
  <spring:message code="label.firstname"/>

2020年2月16日 (日) 04:32時点における最新版

Spring MVC 各国語対応

Spring | Spring MVC |

Eclipse での手順

プロパティファイルを作成

  • messages_en.properties
  • messages_ja.properties

<blockquote>messages_ja.properties は native2ascii をかける</blockquote>

WEB-INF/i18n/messages_en.properties
label.firstname=First Name
WEB-INF/i18n/messages_ja.properties
label.firstname=\u540d\u524d

Spring設定ファイルにBeanの設定

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:mvc="http://www.springframework.org/schema/mvc"
    xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
        http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd    
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd">

    <mvc:annotation-driven/> 
    <mvc:interceptors> 
        <bean id="localeChangeInterceptor" class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">
            <property name="paramName" value="lang" />
        </bean>
    </mvc:interceptors>    
    
    <bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
        <property name="basename" value="WEB-INF/i18n/messages"/>
        <property name="defaultEncoding" value="UTF-8" />        
    </bean>
    
    <bean id="localeResolver" class="org.springframework.web.servlet.i18n.CookieLocaleResolver">
        <property name="cookieName" value="locale" />
    </bean>
</beans>

JSPでtaglibの宣言

<%@taglib uri="http://www.springframework.org/tags" prefix="spring"%>

JSPで利用

出力
<spring:message code="label.firstname"/>
結果を変数に入れる
<spring:message code="label.title.index" var="title" scope="page"/>

タグライブラリが見つからないエラーの場合

  • org.springframework.web.servlet の /META-INF/spring.tld を /WEB-INF へコピー
  • web.xml に taglib 情報を与える
<web-app>
     :
    <jsp-config>
        <taglib>
            <taglib-uri>http://www.springframework.org/tags</taglib-uri>
            <taglib-location>/WEB-INF/spring.tld</taglib-location>
        </taglib>
    </jsp-config>