Thẻ generator trong Struts 2



Thẻ generator tạo một Iterator dựa trên thuộc tính val đã cung cấp. Thẻ generator sau tạo một iterator và in nó bởi sử dụng thẻ iterator.

Tạo 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 để minh họa sự sử dụng của thẻ generator:

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

<h2>Vi du cua the generator</h2>
<h3>Rainbow bao gom cac mau:</h3>

<s:generator val="%{'Violet,Indigo,Blue,
         Green,Yellow,Orange,Red '}" count="7" 
         separator=",">
   <s:iterator>
      <s:property /><br/>
   </s:iterator>
</s:generator>	
	
</body>
</html>

Tại đây chúng ta tạo một thẻ generator và chúng ta đề nghị nó để parse chuỗi mà chứa danh sách các màu, được phân biệt riêng rẽ bởi dấu phảy, mà tạo một rainbow. Chúng ta nói cho thẻ generator rằng dấu phân tách separator là "," và chúng ta muốn cả 7 giá trị trong list. Nếu bạn chỉ quan tâm đến 3 giá trị đầu tiên chẳng hạn, thì bạn nên thiết lập count thành 3. Trong phần thân của thẻ generator, chúng ta sử dụng iterator để lặp qua các giá trị được tạo bởi thẻ generator này và in giá trị của property.

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

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" />
   <package name="helloworld" 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ạn thử chạy ứng dụng và kiểm tra kết quả.


control_tag_trong_struts_2.jsp


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