Thẻ url trong Struts 2
Thẻ url chịu trách nhiệm tạo các chuỗi URL. Lợi thế của thẻ này là bạn có thể cung cấp các tham số cho thẻ này. Bạn theo dõi ví dụ dưới đây để hiểu cách sử dụng của thẻ url trong Struts 2.
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:
<%@ page contentType="text/html; charset=UTF-8"%> <%@ taglib prefix="s" uri="/struts-tags"%> <html> <head> <title>Hello World</title> </head> <body> <s:url id="login" action="login" var="myurl"> <s:param name="user">Hoang</s:param> </s:url> <a href='<s:property value="#myurl"/>'> <s:property value="#myurl"/></a> </body> </html>
Tại đây chúng ta tạo một url link tới login.action. Chúng ta đã cung cấp cho url này một tên là myurl. Đó là tại sao chúng ta có thể sử dụng nó tại nhiều vị trí bên trong jsp file. Sau đó, chúng ta cung cấp cho url này một tham số là user. Giá trị tham số được phụ thêm vào cuối của chuỗi truy vấn.
Thẻ url là hữu ích khi bạn muốn tạo một dynamic hyberlink dựa trên giá trị property của một bean.
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="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ả.