1. 程式人生 > >maven專案SpringMVC實現國際化

maven專案SpringMVC實現國際化

首先建立一個maven專案,在pom.xml裡面寫上這些

<dependencies>
  <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>4.3.12.RELEASE</version>
</dependency>
   <dependency>  
        <groupId>commons-fileupload</groupId>  
        <artifactId>commons-fileupload</artifactId>  
        <version>1.3.1</version>  
    </dependency>  
    <dependency>  
        <groupId>commons-io</groupId>  
        <artifactId>commons-io</artifactId>  
        <version>2.4</version>  
    </dependency>  
    <dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>servlet-api</artifactId>
    <version>2.5</version>
    <scope>provided</scope>
</dependency>
  <dependency>
  <groupId>javax.servlet</groupId>
  <artifactId>jstl</artifactId>
  <version>1.2</version>
</dependency>
 
<dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
<version>1.1.2</version>
</dependency>
  </dependencies>

web.xml配置

 <servlet>
        <servlet-name>springmvc</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <!-- spring-mvc具體的配置檔案 -->
            <param-value>/WEB-INF/spring-mvc.xml</param-value>
        </init-param>
        <!-- servlet載入的優先順序,當值大於等於0時在應用啟動時就載入這
            個servlet,值越小優先順序越高。
        當值為負數或未指定時servlet被使用時才載入 -->
        <load-on-startup>1</load-on-startup>
</servlet>

<filter>
        <filter-name>characterEncodingFilter</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>
    </filter>

<servlet-mapping>
        <servlet-name>springmvc</servlet-name>
        <!-- spring-mvc能夠處理的請求要匹配如下格式 -->
        <url-pattern>/</url-pattern>
</servlet-mapping>

spring-mvc.xml配置

  <!--Spring MVC的配置檔案,包含網站跳轉邏輯的控制,配置  -->
	 <context:component-scan base-package="com.shz.*" />
	 <context:annotation-config/>
	<!-- 檢視解析器 -->
	<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
		<property name="prefix" value="/WEB-INF/jsp/"/>
		<property name="suffix" value=".jsp"/>
	</bean>
	<mvc:annotation-driven />
	<!-- 儲存區域設定資訊 -->
    <bean id="localeResolver"
        class="org.springframework.web.servlet.i18n.SessionLocaleResolver" />
    <!-- 國際化資原始檔 -->
    <bean id="messageSource"
        class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
        <property name="basename" value="classpath:messages" />
    </bean>
 
    <mvc:interceptors>
        <bean id="localeChangeInterceptor"
            class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">
            <property name="paramName" value="lang" />
        </bean>
    </mvc:interceptors>
	     

兩個國際化資原始檔

messages_en_US.properties和messages_zh_CN.properties其中的en_US和zh_CN可以去ie瀏覽器裡面去看(設定按鈕-Internet選項-語言-新增)你就可以看到各個國家的格式,就是說你要寫哪個國家的語言就要按照這個格式來。

<property name="basename" value="classpath:messages" />

這個是找messages開頭的檔案,你也也可以放在某個資料夾下面,比如classpath:messages/messages就是放在messages資料夾下面以messages開頭的資原始檔,也就是messages_en_US.properties和messages_zh_CN.properties,在這個配置檔案的最後配置的是一個攔截器,該攔截器通過名為”lang”的引數來攔截HTTP請求,使其重新設定頁面的區域化資訊

messages_en_US.properties:

language.cn = Chinese
language.en = English
internationalisation =  Internationalisation
welcome = Welcome to Song Haozhi's blog,URL:http://blog.csdn.net/qq_26173219/

messages_zh_CN.properties:

language.cn = \u4e2d\u6587
language.en = \u82f1\u6587
internationalisation = \u56fd\u9645\u5316
welcome = \u6b22\u8fce\u8bbf\u95ee\u201c\u5b8b\u6d69\u5fd7\u7684\u535a\u5ba2\u201d\uff0cURL\uff1ahttp://blog.csdn.net/qq_26173219/

後臺action處理請求,跳轉頁面

@Controller
public class TestAction {
	
	 @RequestMapping(value = "/hello")
	    public ModelAndView welcome() {
	        ModelAndView modelAndView = new ModelAndView("welcome");
	 
	        return modelAndView;
	    }

}

首頁的index.jsp頁面寫上

<% response.sendRedirect("hello"); %>

意思就是專案啟動之後就請求hello方法,也就是讓action中的welcome方法處理這個請求

welcome.jsp頁面

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
     <%@taglib prefix="mvc" uri="http://www.springframework.org/tags/form" %>
<%@taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <title>SpringMVC<spring:message code="internationalisation" /></title>
</head>
<body>
    Language: <a href="?lang=zh_CN"><spring:message code="language.cn" /></a> - <a href="?lang=en_US"><spring:message code="language.en" /></a>
    <h2>
        <spring:message code="welcome" />
    </h2>
</body>
</html>

在需要使用國際化處理的地方使用Spring的message標籤,code屬性對應資原始檔中的“鍵”名稱

最後顯示看下圖


原始碼下載http://download.csdn.net/download/qq_26173219/10246147

相關推薦

maven專案SpringMVC實現國際化

首先建立一個maven專案,在pom.xml裡面寫上這些<dependencies> <dependency> <groupId>org.springframework</groupId> <artif

Vue專案如何實現國際化?分享一下基於vue-i18n實現國際化的經驗

vue專案如何實現國際化?分享一下基於vue-i18n實現國際化的經驗 demo原始碼連結:https://github.com/XieTongXue/how-to/tree/master/vue-internationalization 步驟一:安裝vue-i18n npm ins

S6.6_Struts2_I18n 專案如何實現國際化 I18n

我們接下來將要建立的專案目錄結構如下: 由專案S6.3_Struts2_Validation(如何下載它)複製生成一個新專案S6.6_Struts2_I18n 專案如何實現國際化 I18n 第1步:建資原始檔(包名_語言_國家.properties) App_en_US.p

JAVA Maven專案如何實現定時任務!

<properties> <java.version>7</java.version> <project.build.sourc

JAVA Maven專案如何實現定時任務

1在pom.xml檔案中加入如下資訊,引入對應的jar包。 <properties> <java.version>7</java.version> <project.build.so

maven 專案 springmvc spring 使用SLF4J和 LogBack 做為日誌 xml裡配置即可

pom.xl 裡新增依賴包:   <!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-api -->     <dependency>        <groupId>org.

maven 專案(五) spring整合springMVC開發統一接入API--實現test介面

為什麼要採用測試介面的方式:貼完程式碼我再來說; 1.貼張圖片 2.是測試介面地址的暴露方式: @Controller public class ApiTestController { @Value("${epeit.api.server}") private St

Maven+Mybatis+Spring+SpringMVC實現分頁查詢

XML lec www tails odin build 效果 servle lpad 轉載:http://www.cnblogs.com/zhangtan/p/5846955.html 一、項目搭建 關於項目搭建,小寶鴿以前寫過一篇Spirng+SpringMVC+Ma

SpringMVC 資源國際化實現以及常見問題

text com lis frame ssi 三種 ltm manage 地址 資源國際化可以很方便的實現web項目語言的切換,解決了web項目按需顯示不同語言界面的問題. SpringMVC 的資源國際化基於JDK的java.util.ResourceBundle實現,

所謂的網頁爬蟲用java程式碼來實現,此程式碼適合在maven專案中使用中使用,因為,程式碼中的類所對應的依賴可以讓maven下載。

//獲得httpClient物件 CloseableHttpClient httpClient = HttpClients.createDefault(); //url公司域名隨便 String url = "https://www.baidu.co

java後臺開發例子--使用Maven建立springmvc的web專案

java後臺開發例子–使用Maven建立springmvc的web專案 文章目錄 java後臺開發例子--使用Maven建立springmvc的web專案 1.測試 2.詳細配置 2.1建立工程結構: 2.2

在Java web專案springMVC框架中實現定時任務

在工作中遇到一個需求,需要定時自動執行某項功能,這就需要用到定時任務了。首先先來理一下實現思路,定時任務可以用Java.util中的timer類,把需要定時執行的任務封裝到timer類的排程表中,這個timer物件需要在程式初始化時建立,這樣才可以讓它自動執行。那麼我們就可以想到需要借用

搭建eclipse+tomcat+maven+shiro+springmvc+jpa專案(二):基本框架搭建

1、pom.xml配置 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://m

搭建eclipse+tomcat+maven+shiro+springmvc+jpa專案(一):技術選型及架構文件

一、Java語言 Java是一門面向物件程式語言,不僅吸收了C++語言的各種優點,還摒棄了C++裡難以理解的多繼承、指標等概念,因此Java語言具有功能強大和簡單易用兩個特徵。Java語言作為靜態面向物件程式語言的代表,極好地實現了面向物件理論,允許程式設計師以優雅的思維方式進行復雜的程式設計。

前端框架Vue——vue-i18n ,vue專案中如何實現國際化,$t的用法

一、demo 場景需求分析 需求很簡單,左上角 ‘’網易雲音樂‘’就是一箇中英文切換的按鈕,點選彈出提示框,確認切換語言後,實現英文版本。 切換成英文版本: 二、實現國際化   首先,我開發是以 vue 為技術棧,所以如題用的國際化外掛是 vue

Eclipse下用maven構建Struts專案實現簡單的登入及驗證。

點選File->new->Maven Project. 右鍵所建立的專案->點選Properties->點選Java Build Path將JDK改成所需要的版本 然後點選Project Facets先改Java,再改Dynamic Web Mod

記錄|建立maven專案和整合springmvc

maven專案搭建 首先開啟軟體,建立新專案 開啟沒有src目錄 在main下新建java目錄 標記java為源目錄 在java目錄下新建包 建立如下包 並把在web下bootstrap和jquery資料夾複製進去 在web-inf目錄新增

簡易版的SSM框架maven專案實現CRUD【增Create、查Retrieve、改Update、刪Delete】

一、SSM專案【Spring+Springmvc+MyBatis】 1.建立maven專案                         create maven project.            下一步 next         繼續 下一步next

JAVA實用操作(一)IDEA用maven建立springMVC專案和配置

最近做使用者畫像需要使用API的方式訪問hbase表,這裡構建使用java web專案使用java語言進行API開發,這裡簡單回顧下java web的構建方式。 一.回顧建立SpringMVC Spring MVC 框架在 Java 的 Web 專案中應該是無人

Idea用Maven建立SpringMVC框架專案及配置

1.IDEA新建一個maven project,選擇webapp原型,具體建立方法,參考之前的案例: https://blog.csdn.net/gaofengyan/article/details/82995003 此處不再贅述。 2.新增pom.xml依賴(