Struts2 <s:url>标签示例
精华
小牛编辑
172浏览
2023-03-14
Struts2 <s:url>标签被用来创建一个URL,并输出它作为文本格式。它从不通过自己的工作,但它可以提供URL链接到其他标签,如<s:a>创建超链接或<img>渲染图像。在本教程中,它显示 Struts2 <s:url>标签的5种常见用法。
1. 动作
Action类转发请求。
URLTagAction.java
package com.yiibai.common.action; import com.opensymphony.xwork2.ActionSupport; public class URLTagAction extends ActionSupport{ public String execute() { return SUCCESS; } }
2. <s:url>标签示例
这里举5个例子来说明如何使用Struts2 <s:url> 标签。
-
创建图片URL。
<img src="<s:url value="/images/man.jpg"/>" />
输出(假设根上下文名称为“Struts2Example”)<img src="/Struts2Example/images/man.jpg" />
-
创建一个“Google”文字,并将其链接到 http://www.google.com。
<a href="<s:url value="http://www.google.com" />" target="_blank">Google</a>
输出
<a href="http://www.google.com" target="_blank">Google</a>
当以“http”或“www”字符开始定义URL值,在Struts 2将呈现它,因为它是不增加额外的根上下文的域名为example1。 -
创建操作URL以“id”参数,并输出它作为文本格式。
<s:url action="urlTagAction.action" > <s:param name="id">123</s:param> </s:url>
输出
/Struts2Example/urlTagAction.action?id=123
-
使用“name”参数来创建操作URL,并用<s:a>组合通过<s:property>标签。
<s:url action="urlTagAction.action" var="urlTag" > <s:param name="name">yiibai</s:param> </s:url> <a href="<s:property value="#urlTag" />" >URL Tag Action (via property)</a>
输出
<a href="/Struts2Example/urlTagAction.action?name=yiibai" >URL Tag Action (via property)</a>
-
使用 “age” 参数创建操作URL,并用<s:a>通过组合“%{urlTag}标记。
<s:url action="urlTagAction.action" var="urlTag" > <s:param name="age">99</s:param> </s:url> <s:a href="%{urlTag}">URL Tag Action (via %)</s:a>
输出
<a href="/Struts2Example/urlTagAction.action?age=99">URL Tag Action (via %)</a>
全部的JSP代码
url.jsp
<%@ taglib prefix="s" uri="/struts-tags" %> <html> <head> </head> <body> <h1>Struts 2 URL tag example</h1> <ol> <li> <img src="<s:url value="/images/man.jpg"/>" /> </li> <li> <a href="<s:url value="http://www.google.com" />" target="_blank">Google</a> </li> <li> <s:url action="urlTagAction.action" > <s:param name="id">123</s:param> </s:url> </li> <li> <s:url action="urlTagAction.action" var="urlTag" > <s:param name="name">yiibai</s:param> </s:url> <a href="<s:property value="#urlTag" />" >URL Tag Action (via property)</a> </li> <li> <s:url action="urlTagAction.action" var="urlTag" > <s:param name="age">99</s:param> </s:url> <s:a href="%{urlTag}">URL Tag Action (via %)</s:a> </li> </ol> </body> </html>
3. 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="default" namespace="/" extends="struts-default"> <action name="urlTagAction" class="com.yiibai.common.action.URLTagAction" > <result name="success">/pages/url.jsp</result> </action> </package> </struts>
4. 示例
http://localhost:8080/struts2urltag/urlTagAction.action
在浏览器中打上面的网址,它显示结果如下图:
参考
- Struts2 <s:url>标签文档
代码下载 - http://pan.baidu.com/s/1c0gBXeC