Struts 2 - Beispiel für ein Ressourcenpaket

Struts 2 - Beispiel für ein Ressourcenpaket

Um das Ressourcenpaket zum Abrufen der Nachricht aus der Eigenschaftendatei zu verwenden, müssen Sie die Suchreihenfolge für das Struts 2-Ressourcenpaket kennen:

Suchreihenfolge für Ressourcenpakete

Das Ressourcenpaket wird in der folgenden Reihenfolge durchsucht:

  1. ActionClass.properties

  2. Interface.properties

  3. BaseClass.properties

  4. ModelDrivens Modell

  5. package.properties

  6. Durchsuchen Sie die i18n-Nachrichtenschlüsselhierarchie

  7. Globale Ressourceneigenschaften

Ausführliche Erläuterungen finden Sie unter Streben 2Resource Bundle documentation.

Hallo Struts 2, du suchst zu viel, es sind zu viele Suchaufträge und Kostenaufwendungen erforderlich, wenn die Eigenschaftendatei nicht gefunden wird.

In der Praxis ist es unmöglich, Ihre Eigenschaftendatei in der oben angegebenen Reihenfolge zu organisieren. Verstehen Sie also, dass nur wenige häufig verwendete Suchreihenfolgen ausreichen sollten:ActionClass.properties,package.properties undGlobal resource properties. Siehe das folgende Bild:

Struts 2 resource bundle

Wenn eincom.example.user.action.LoginActioneine Nachricht über ein Ressourcenpaket erhalten möchte, wird er suchen

  1. com.example.user.action.LoginAction.properties (found, exit, else next)

  2. com.example.user.action.package.properties (found,exit, else next)

  3. com.example.user.package.properties (found exit, else next)
    …keep find package.properties in every parent directory all the way to the root directory

  4. Suchen Sie dieglobal resource properties, wenn Sie sie in Ihrer Anwendung konfigurieren

Wenn Sie diese Suchreihenfolge verstehen, können Sie sicherer den richtigen Ordner für die Eigenschaftendatei auswählen.

Holen Sie sich das Ressourcenpaket

Einige Beispiele für den Zugriff auf das Ressourcenpaket:

P.S ‘username.required‘ and ‘username‘ are the key in a properties file.

1. Aktionsklasse

In der Action-Klasse können Sie den ActionSupport erweitern und das Ressourcenpaket über die Funktion "getText" ("Schlüssel") abrufen.

...
public class LoginAction extends ActionSupport{
    ...
    public void validate(){
        if("".equals(getUsername())){
            addFieldError("username", getText("username.required"));
        }
    }
}

2. Eigenschafts-Tag

Verwenden Sie im Eigenschaftstag den getText (‘key’).

3. Text-Tag

Legen Sie im Text-Tag den Schlüssel für das Attribut "Name" fest.

4. Schlüsselattribut

Das Key-Attribut der UI-Komponente hat eine spezielle Funktion. Überprüfen Sie die Details inkey attribute example.

5. I18n-Tag

Dieses i18n-Tag kann die Nachricht von einem angegebenen Ressourcenpaket abrufen, das im Attribut "name" deklariert ist. In diesem Beispiel wird gefragt, ob die Nachricht "Benutzername" aus der Datei voncom/example/user/package.propertiesabgerufen werden soll.


     

Laden Sie das vollständige Projekt zum Üben herunter -Struts2-Resource-Bundle-Example.zip