url标签是负责生成url字符串。这样做的好处是,你可以提供参数标签。我们通过一个例子来说明使用的url标签。
package com.h3.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; } }
helloworld.jsp包含以下内容:
<%@ 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">zara</s:param> </s:url> <a href='<s:property value="#myurl"/>'> <s:property value="#myurl"/></a> </body> </html>
在这里,我们生成一个网址链接“login.action”。我们已经给这个url名称“myurl”。这是为了让我们可以重用这个网址链接在多个地方的jsp文件。然后,我们提供的url参数调用用户。参数值实际上追加到查询字符串,可以看到从上面的输出。
主要是有用是当你想创建一个bean属性值的基础上动态超链接的url标签。
你的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.h3.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>
右键点击项目名称,并单击export > war file创建一个war文件。然后部署这个war在tomcat的webapps目录下。最后,启动tomcat服务器和尝试访问url http://localhost:8080/helloworldstruts2/hello.action。这会给你以下画面: