struts2 标签 --<<s:url >

Struts2中的链接标签 <s:url>和<s:a>


普通链接

Web程序中最普通的应用是链接到其他页面,下面看Welcome.jsp。


<%@ page contentType="text/html; charset=UTF-8" %>

<%@ taglib prefix="s" uri="/struts-tags" %>

<html>

<head>

<title>Welcome</title>

<link href="<s:url value="/css/tutorial.css"/>" rel="stylesheet"

type="text/css"/>

</head>

<body>

<h3>Commands</h3>

<ul>

<li><a href="<s:url action="Login_input"/>">Sign On</a></li>

<li><a href="<s:url action="Register"/>">Register</a></li>

</ul>

</body>

</html>

1.1说明

1.<%@ taglib prefix="s" uri="/struts-tags" %>

此句表示导入struts标签,并以s为前缀。即以s为前缀的标签均来自struts标签库。

2.<link href="<s:url value="/css/tutorial.css"/>" rel="stylesheet" type="text/css"/>

此句表示利用url标签导入一个路径,链接到一个文件,注意此路径为项目下的绝对路径。

3.<a href="<s:url action="Login_input"/>">Sign On</a>

此句表示利用url标签链接到一个action。

1.2注册action

我们在struts.xml中注册一个action来显示welcome.jsp。


<action name="Welcome">

<result>/example/Welcome.jsp</result>

</action>

注意此action注册在package example下,所以在地址栏中敲入http://localhost:8080/StrutsHelloWorld/example/Welcome.action(StrutsHelloWorld是project名),会导向到Welcome.jsp。

2.使用通配符

对于上面的action注册,我们也可以用下面的语句代替。


<action name="*">

<result>/example/{1}.jsp</result>

</action>

此句的意思是,如果在没有找到匹配的action名称的情况下,默认调用action名称.jsp。第一句中星号指任意,而第二句中{1}指代第一句中星号指代的内容。

举个例子,如果在地址栏中敲入http://localhost:8080/StrutsHelloWorld/example/1.action,则系统查找struts.xml,发现没有name为1的action,即最后调用name为星号的这个action,根据此action,将输出/example/1.jsp。

或者读者可以直接点击Welcome.jsp中的两个超链接,系统将会报错找不到Login_input.jsp和Register.jsp。因为这两个action还没有注册,也没有相应的jsp文件。

3.带参数的链接

超链接后面带有参数大家不会陌生,诸如http://www.apache.com/?language=ch。这个链接后面带有一个language参数,其值为ch。你可以通过request.getParameter(“language”)找到参数值。下面演示在struts2中如何设置带参数的链接。看HelloWorld.jsp。


<%@ taglib prefix="s" uri="/struts-tags"%>

<html>

<head>

<title>Hello World!</title>

</head>

<body>

<h2><s:property value="message" /></h2>

<h3>Languages</h3>

<ul>

<li>

<s:url id="url" action="HelloWorld">

<s:param name="request_locale">en</s:param>

</s:url>

<s:a href="%{url}">English</s:a>

</li>

<li>

<s:url id="url" action="HelloWorld">

<s:param name="request_locale">es</s:param>

</s:url>

<s:a href="%{url}">Espanol</s:a>

</li>

</ul>

</body>

</html>

3.1说明

1.<s:url id="url" action="HelloWorld">

<s:param name="request_locale">en</s:param>

</s:url>

此段表示设置一个url标签指向名为HelloWorld的action,此标签带一个id取名为url,后面会用到。带一个参数request_locale,其值为en。

2.<s:a href="%{url}">English</s:a>

此句用到了struts2的超链接标签,连接的地址即为1中url,点击English,发出的信息为:http://localhost:8080/StrutsHelloWorld/example/HelloWorld.action?request_locale=en

3.2注册action到struts.xml

<struts>

<package name="example" namespace="/example"

extends="struts-default">

<action name="HelloWorld" >

<result>/example/HelloWorld.jsp</result>
             </action>
       </package>
</struts>

时间: 2024-08-18 07:42:02

struts2 标签 --<<s:url >的相关文章

(五)Struts2 标签

所有的学习我们必须先搭建好Struts2的环境(1.导入对应的jar包,2.web.xml,3.struts.xml) 第一节:Struts2 标签简介 Struts2 自己封装了一套标签,比JSTL 强大,而且与Struts2 中的其他功能无缝结合. 当然Strust2 标签的内容很多,随着版本的升级,标签和属性越来越多.我们要掌握好核心标签及了解其他标签. 根据功能可以分为:数据标签,控制标签,界面标签,其他标签. 第二节:Struts2 数据标签 Property 标签:输出OGNL 表达

18.如何自学Struts2之Struts2标签和集成初略总结篇

18.如何自学Struts2之Struts2标签和集成初略总结篇[视频] 之前写了一篇"打算做一个视频教程探讨如何自学计算机相关的技术",优酷上传不了,只好传到百度云上: http://pan.baidu.com/s/1kTDsa95 有问题可以直接回复这篇文章.

Struts2标签小结

前边总结Struts2的时候将标签这一部分给丢了,当时因为开发的时候很少使用,这里简单总结一下.先看一下Struts2标签的分类吧.然后分类总结一下即可. 由于控制标签用的比较多,所以放在了前边.好首先看一下控制标签吧. 一,控制标签,JSTL大家应该都使用过,其实Struts2的控制标签和那个特别像的,主要是对EL表达式满足不了的进行补充使用.这里简单看一下吧: 1, if--elseif--else,用来控制选择输出的标签: <html xmlns="http://www.w3.org

JAVAEE——struts2_04:自定义拦截器、struts2标签、登陆功能和校验登陆拦截器的实现

一.自定义拦截器 1.架构 2.拦截器创建 //拦截器:第一种创建方式 //拦截器生命周期:随项目的启动而创建,随项目关闭而销毁 public class MyInterceptor implements Interceptor{} //创建方式2: 继承AbstractInterceptor -> struts2的体贴 //帮我们空实现了init 和 destory方法. 我们如果不需要实现这两个方法,就可以只实现intercept方法 public class MyInterceptor2

用struts2标签如何从数据库获取数据并在查询页面显示。最近做一个小项目,需要用到struts2标签从数据库查询数据,并且用迭代器iterator标签在查询页面显示,可是一开始,怎么也获取不到数据,想了许久,最后发现,是自己少定义了一个变量,也就是var变量。

最近做一个小项目,需要用到struts2标签从数据库查询数据,并且用迭代器iterator标签在查询页面显示,可是一开始,怎么也获取不到数据,想了许久,最后发现,是自己少定义了一个变量,也就是var变量.<s:iterator>标签有一个value属性,用来存放在Action类的方法中存数据的list集合,还有一个id,好像是说指定集合的索引的意思,就是给list集合遍历出来的每个对象加上一个数字标签,反正我是这么理解的,没用过.还有一个很重要,就是var变量,我在s:iterator按ctr

Struts2(十)OGNL标签二与Struts2标签

一.Struts2标签的优势 标签库简化了用户对标签的使用 结合OGNL使用,对于集合.对象的访问功能非常强大 提供可扩展的主题.模板支持.极大简化了视图页面的编写 不依赖任何表现层技术 Struts2标签的分类: 通用标签(Generir Tags) 数据标签(Data Tags) 控制标签(Control Tags) UI标签(UI Tags) Ajax标签(Ajax Tags) 二.数据标签 web.xml <filter> <filter-name>struts2</

Struts2标签--控制标签

参考博客:http://www.open-open.com/lib/view/open1342167592890.html Struts2标签库 包括: OGNL Struts2标签分类 控制标签 :(if, elseif,else, iterator, append, merge, generator, subset, sort) 数据标签 :(bean, param,date, debug, include, set, url, push) 控制标签: (1): If elseif  els

[Java]Struts2标签

http://www.open-open.com/lib/view/open1331393920452.html Struts2常用标签总结 一 介绍 1.Struts2的作用    Struts2标签库提供了主题.模板支持,极大地简化了视图页面的编写,而且,struts2的主题.模板都提供了很好的扩展性.实现了更好的代码复用.Struts2允许在页面中使用自定义组件,这完全能满足项目中页面显示复杂,多变的需求.     Struts2的标签库有一个巨大的改进之处,struts2标签库的标签不依

Struts2标签与Jsp的嵌入Java代码之间的变量相互引用

新年的第一天,对programer来说,和往常相比并没有太大不同,代码照样敲.做了一天键盘侠,不见得有什么出彩的成就(其实一直以来似乎都是这样/(ㄒoㄒ)/~~),倒是被曾经绊住的问题再次绊住然后纠结地解决了,顺便复习了一下.问题就是在Struts2标签和Jsp的Java代码直接实现了变量相互引用. 情景1:有一个在valuestack里面有一个变量,而我们目标除了获得这个值之外,还可能会更改它的值,这个操作可能是通过webservice,service.dao等进行,而这些操作都要进行Java

OGNL(Object-Graph Navigation Language对象图定位语言)和struts2标签

由ngol.jar工具包发展而来 作用: 1   对属性获取和设置 2   调用对象方法 3 调用静态属性和方法 4 对集合进行过滤 5 支持JAVA中的运算符操作符() struts2标签: struts2标签使用NGOL来访问ValueStack中的信息. struts2提供了很多标签,有些标签属性需要指定OGNL表达式. 1 通用标签 debug,property,date.if....else,itetor,bean,push, 2 表单标签 form,textfield,passwor