Thẻ text trong Struts 2



Thẻ text là một thẻ chung mà được sử dụng để truyền một thông điệp i18n text. Bạn nên ghi nhớ các điều sau trong khi sử dụng thẻ text:

  • Thông điệp phải là trong một resource bundle với cùng tên như action mà nó được liên kết với. Trong thực hành, điều này nghĩa là bạn nên tạo một properties file trong cùng package.

  • Nếu thông điệp đã cho là không được tìm thấy, thì phần thân thẻ sẽ được sử dụng như là thông điệp mặc định.

  • Nếu không sử dụng phần thân thẻ, thì tên của thông điệp sẽ được sử dụng.

Bạn theo dõi ví dụ sau để hiểu rõ cách sử dụng của thẻ text:

Tạo các lớp Action

package com.vietjack.struts2;

public class HelloWorldAction{
   private String name;

   public String execute() throws Exception {
      return "success";
   }
   
   public String getName() {
      return name;
   }

   public void setName(String name) {
      this.name = name;
   }
}

Tạo các thành phần View

HelloWorld.jsp với nội dung sau:

<%@ taglib prefix="s" uri="/struts-tags"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Vi du cua the text</title>
</head>
<body>
	
<s:i18n name="HelloWorldAction">
   <s:text name="name.success"/><br>
   <s:text name="name.xyz">Message khong ton tai</s:text><br>
   <s:text name="name.msg.param">
      <s:param >ZARA</s:param>
   </s:text>
</s:i18n>

</body>
</html>

Tạo các file cấu hình

Tạo HelloWorldAction.properties và giữ trong class path:

name.success = This is success message
name.msg.param = The param example - param : {0}

struts.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>
   <constant name="struts.devMode" value="true" />
   <constant name="struts.custom.i18n.resources" 
             value="ApplicationResources"/>
   
   <package name="helloaction" extends="struts-default">
      <action name="hello" 
            class="com.vietjack.struts2.HelloWorldAction" 
            method="execute">
         <result name="success">/HelloWorld.jsp</result>
      </action>
   </package>
</struts>

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns="http://java.sun.com/xml/ns/javaee" 
   xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
   xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
   http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
   id="WebApp_ID" version="3.0">
   
   <display-name>Struts 2</display-name>
   <welcome-file-list>
      <welcome-file>index.jsp</welcome-file>
   </welcome-file-list>
   <filter>
      <filter-name>struts2</filter-name>
      <filter-class>
         org.apache.struts2.dispatcher.FilterDispatcher
      </filter-class>
   </filter>

   <filter-mapping>
      <filter-name>struts2</filter-name>
      <url-pattern>/*</url-pattern>
   </filter-mapping>
</web-app>

Bây giờ bạn chạy ứng dụng và kiểm tra kết quả.


data_tag_trong_struts_2.jsp


Tài liệu giáo viên