Thẻ param trong Struts 2



Thẻ param có thể được sử dụng để tham số hóa các thẻ khác. Thẻ include và thẻ bean là hai ví dụ của thẻ này. Chúng ta sẽ lấy ví dụ đã được trình bày trong chương về thẻ bean..

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 với nội dung sau:

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

<s:bean name="org.apache.struts2.util.Counter" var="counter">
   <s:param name="first" value="20"/>
   <s:param name="last" value="25" />
</s:bean>
<ul>
   <s:iterator value="#counter">
      <li><s:property /></li>
   </s:iterator>
</ul>
	
</body>
</html>

Trong ví dụ này, chúng ta đang khởi tạo một instance mới của org.apache.struts2.util.Counter bean. Sau đó chúng ta thiết lập thuộc tính đầu tiên là 20 và thuộc tính cuối là 25. Nghĩa là counter sẽ có các giá trị là 20, 21, 22, 23, 24, và 25.

employees.jsp có nội dung:

<%@ page contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<html>
<head>
<title>Employees</title>
</head>
<body>
   <p>Mot vi du cua the include: </p>
   <s:include value="HelloWorld.jsp"/>
</body>
</html>

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>
   <action name="employee" 
      class="com.vietjack.struts2.Employee" 
      method="execute">
      <result name="success">/employee.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