2017-05-26 13 views
1

通常のテキストのように、プレースホルダ内のテキストを国際化する方法が見つかりません。 入力タイプ=「テキスト」クラスでSpringのプレースホルダの国際化

入力タイプ=「テキスト」クラス=「フォームコントロール」名前=「S」プレースホルダ=「検索趣味」

:私はで私の国際化を配置したいと思います= "フォームコントロール" 名= "S" プレースホルダ= "ctrlpanel.search.placeholder"

ctrlpanel.search.placeholderは、検索趣味は

は今のところ、私のJSPに私がタグを含める=

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> 
 
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> 
 
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> 
 
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> 
 

 
<c:set var="contextRoot" value="${pageContext.request.contextPath}" /> 
 
<c:url var="search" value="/search" /> 
 

 

 
<hr/> 
 
<div class="row"> 
 
\t <div class="col-md-8 col-md-offset-2"> 
 
\t \t <form action="${search}" method="post"> 
 
\t \t \t <input type="hidden" name="${_csrf.parameterName}" 
 
\t \t \t \t value="${_csrf.token}" /> 
 
\t \t \t <div class="input-group input-group-lg"> 
 
\t \t \t \t <input type="text" class="form-control" name="s" placeHolder="Search Hobbies"> 
 
\t \t \t \t <span class="input-group-btn"> 
 
\t \t \t \t \t <button id="search-button" class="btn btn-primary" type="submit"> 
 
\t \t \t \t \t <spring:message code="ctrlpanel.find.button" text="default text" /> 
 
\t \t \t \t \t </button> 
 
\t \t \t \t </span> \t \t \t 
 
\t \t \t </div> 
 
\t \t </form> 
 
\t </div> 
 
</div>

私の設定が正常に動作します:

package com.caveofprogramming.configuration; 

import org.springframework.context.annotation.Bean; 
import org.springframework.context.annotation.Configuration; 
import org.springframework.web.servlet.LocaleResolver; 
import org.springframework.web.servlet.config.annotation.InterceptorRegistry; 
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; 
import org.springframework.web.servlet.i18n.LocaleChangeInterceptor; 
import org.springframework.web.servlet.i18n.SessionLocaleResolver; 

import java.util.Locale; 


@Configuration 
public class SpringMvcConfiguration extends WebMvcConfigurerAdapter { 

    @Bean 
    public LocaleResolver localeResolver(){ 
     SessionLocaleResolver sessionLocaleResolver = new SessionLocaleResolver(); 
     sessionLocaleResolver.setDefaultLocale(new Locale("es", "ES")); 
     //sessionLocaleResolver.setDefaultLocale(Locale.US); 
     return sessionLocaleResolver; 
    } 

    @Bean 
    LocaleChangeInterceptor localeChangeInterceptor(){ 
     LocaleChangeInterceptor localeChangeInterceptor = new LocaleChangeInterceptor(); 
     localeChangeInterceptor.setParamName("lang"); 
     return localeChangeInterceptor; 
    } 

    @Override 
    public void addInterceptors(InterceptorRegistry interceptorRegistry){ 
     interceptorRegistry.addInterceptor(localeChangeInterceptor()); 
    } 
} 

を、これは動作しませんので。春の

<input type="text" class="form-control" name="s" placeHolder="<spring:message code="ctrlpanel.search.placeholder"/>">

+0

あなたは、あなたが「通常のテキスト」のためにやっているまさに同じようにそれを行うことができないと思わせますか? –

答えて

2

使用var属性:ページ、リクエスト、セッションまたはアプリケーションスコープに結果をバインドするときに使用されるメッセージ。

<spring:message code="ctrlpanel.search.placeholder" var="searchPlaceholder"/> 

そして、このようなあなたの入力フィールドを更新します。

<input type="text" class="form-control" name="s" placeHolder="${searchPlaceholder}">