Struts 2 - i18n oder Lokalisierungsbeispiel

Streben 2 - i18n oder Lokalisierungsbeispiel

Ein Beispiel für die Internationalisierung (i18n), Lokalisierung (i10n) oder Mehrsprachigkeit von Struts 2, um die Verwendung des Ressourcenpakets für die Anzeige der Nachricht in verschiedenen Sprachen zu veranschaulichen. In diesem Beispiel erstellen Sie einen einfachen Anmeldebildschirm, zeigen die Nachricht aus dem Ressourcenpaket über die Struts 2-Benutzeroberflächenkomponenten an und ändern die Ländereinstellungsbasis anhand der ausgewählten Sprachoption.

Laden Sie es herunter -Struts2-i18-localization-Example.zip

1. Projektstruktur

Die Projektstruktur für dieses Beispiel

Struts2 localization folder structure

2. Eigenschaftendatei

Stellen Sie sicher, dass die Eigenschaftendatei als länderspezifischer Code benannt ist.

In einigen "Nicht-Europa" - oder "Nicht-Englisch" -ähnlichen Zeichen sollten Sie den Inhalt immer mitnative2ascii tool codieren.

global.properties

#Global messages
global.username = Username
global.password = Password
global.submit = Submit

global_zh_CN.properties

#Global messages
global.username = \u7528\u6237\u540d
global.password = \u5bc6\u7801
global.submit=\u63d0\u4ea4

global_fr.properties

#Global messages
global.username = Nom d'utilisateur
global.password = Mot de passe
global.submit = Soumettre

global_de.properties

#Global messages
global.username = Benutzername
global.password = Kennwort
global.submit = Einreichen

Bitte lesen Sie dieseStruts 2 resource bundle example, um zu verstehen, wie Struts 2 die Eigenschaftendatei automatisch durchsucht.

3. Aktion

Zwei Aktionsklassen,LocaleAction, tun im Grunde nichts, undLoginAction führen eine einfache Validierung durch und zeigen die Fehlermeldung vom Ressourcenpaket übergetText() an.

LocaleAction.java

package com.example.common.action;

import com.opensymphony.xwork2.ActionSupport;

public class LocaleAction extends ActionSupport{

    //business logic
    public String execute() {
        return "SUCCESS";
    }
}

LoginAction.java

package com.example.user.action;

import com.opensymphony.xwork2.ActionSupport;

public class LoginAction extends ActionSupport{

    private String username;
    private String password;

    //...getter and setter methods

    //business logic
    public String execute() {
        return "SUCCESS";
    }

    //simple validation
    public void validate(){
        if("".equals(getUsername())){
            addFieldError("username", getText("username.required"));
        }
        if("".equals(getPassword())){
            addFieldError("password", getText("password.required"));
        }
    }
}

4. Seite anzeigen

Eine Anmeldeseite mit einem Textfeld, einem Kennwort und Komponenten für die Benutzeroberfläche.

Um die Lokalisierung von Struts 2 zu unterstützen, MÜSSEN Sie die<%@ page contentType=”text/html;charset=UTF-8″ %> auf Ihrer Ansichtsseite deklarieren, da Sie sonst Probleme haben, die „UTF-8-Daten“ korrekt anzuzeigen, insbesondere die chinesischen Schriftzeichen. Lesen Sie diesen Artikel überStruts 2 Chinese localization issue.

login.jsp

<%@ page contentType="text/html;charset=UTF-8" %>
<%@ taglib prefix="s" uri="/struts-tags" %>





Struts 2 localization example

en zh_CN de fr English Chinese German France

Um das Standardgebietsschema zu ändern, müssen Sie nur einen Parameter“request_locale deklarieren, Ihren bevorzugten Sprachcode festlegen und an eine Aktionsklasse übergeben. In Struts 2 entführt der Interceptorcom.opensymphony.xwork2.interceptor.I18nInterceptor, der instruts-default.xml deklariert ist, Ihre Action-Klasse und behandelt das Gebietsschema entsprechend.

5. Meldung des Ressourcenpakets anzeigen?

In Struts 2 gibt es viele Möglichkeiten, die Nachrichtenbasis des Ressourcenpakets in der ausgewählten Sprache oder dem ausgewählten Gebietsschema anzuzeigen. Zum Beispiel,




In Struts 1 gibt es einen Standardbean:message, um die Ressourcenpaketnachricht anzuzeigen, was bevorzugter ist. In Struts 2 gibt es jedoch so viele gleichwertige Möglichkeiten, um die Ressourcenbündelnachricht anzuzeigen (auch wenn die interne Arbeit anders ist), dass dies auf den ersten Blick ziemlich verwirrend ist. Grundsätzlich zeigt Struts 2 die Meldung des Ressourcenpakets unabhängig von Ihrer Auswahl korrekt an.

6. struts.xml

Struts 2 Konfigurationsdatei, verbinden Sie alles miteinander.





    
    

    
       
        pages/login.jsp
       
       
        pages/welcome.jsp
        pages/login.jsp
       
    

    
       
        user/pages/login.jsp