摘自:http://www.java3z.com/cwbwebhome/article/article2/21001.html
为了使从一个页面中链接一个动态数据变得简单,Struts2框架提供了一系列的标签。
Struts2标签的一种用法是创建链接到其他Web资源,特别是针对那些在本地应用中的资源。
1.普通链接
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>

转载于:https://www.cnblogs.com/wh-king/archive/2012/07/27/2611132.html

Struts2中的链接标签相关推荐

  1. Struts2中的链接标签 s:url和s:a

    2011-08-03 11:05:56|  分类:java web |  标签: |字号大中小  订阅 普通链接 Web程序中最普通的应用是链接到其他页面,下面看Welcome.jsp. <%@ ...

  2. 二十四、Struts2中的UI标签

    二十四.Struts2中的UI标签 Struts2中UI标签的优势: 数据回显 页面布局和排版(Freemark),struts2提供了一些常用的排版(主题:xhtml默认 simple ajax) ...

  3. 项目中技术细节(button用法、前端操作json、 hibernate的query.setFirstResult的用法注意、struts2中日期格式化标签)

    button的用法 struts2 s:iterator 中按钮获得当前行数据,并跳转 <button id="submissionz" onclick="var ...

  4. struts2中的s标签解析

    那就从简单的标签说起吧!1.x中常用的标签只有4中html.bean.logic.tiles 而struts2.0里的标签却没有分类,只用在jsp头文件加上 <%@ taglib prefix= ...

  5. struts2中struts:iterator标签的使用

    参考: 1):struts2 标签的使用之二 s:iterator     http://blog.csdn.net/chinajust/article/details/3922760 2)Strut ...

  6. struts2中s:select标签的使用

    1 静态生成 <s:select name="user.sex" list="#{'0':'男','1':'女'}" label="性别&quo ...

  7. struts2中s:select标签在freemarker中的使用

    作者:Yan 1.第一个例子: <s:select list="{'aa','bb','cc'}" theme="simple" headerKey=&q ...

  8. struts2中各版本jar包需求及配置设置

    struts2中各版本jar包需求及配置设置 [原文:http://wangxinghaoaccp.blog.163.com/blog/static/11581023620113213161958/] ...

  9. Struts2中UI标签之非表单标签

    1.非表单标签主要用于在页面生成一些非表单的可视化元素,例如Tab页面,输出HTML页面的树形结构等.当然,非表单标签也包含在页面显示Action里封装的信息,非表单标签主要有如下几个: a:生成一个 ...

最新文章

  1. vue里面嵌入sound music音乐播放
  2. OpenCV4 C++学习 必备基础语法知识二
  3. easyui 去掉按钮 虚线框
  4. LaTex 变形的字母
  5. 如何在树莓派上进行python编程_《树莓派Python编程指南》怎么样_目录_pdf在线阅读 - 课课家教育...
  6. Eclipse Maven 编译错误 Dynamic Web Module 3.0 requires Java 1.6 or newer 解决方法
  7. python案例数据集_Python数据集切分实例
  8. Linux 下 ascii 的查看方式
  9. Java游戏开发 —— 扫雷
  10. 数据库创建/删除视图语句
  11. 《Windows核心编程系列》十异步IO之IO完成端口
  12. zip 和rar 的区别
  13. 音乐类软件LoveMusic开发(三)----登录界面
  14. 基于Android汽车违章查询app系统
  15. 魔百盒CM201-2,(ys)卡刷固件及教程
  16. 【Docker系列】Docker的网络
  17. 知行EDI系统如何通过中间数据库表方式集成金蝶ERP
  18. 微软4000亿收购动视暴雪,背后逻辑是什么?
  19. SpringBoot集成SwaggerUI及其使用
  20. 视频教程-数据挖掘基础:零基础学Python数据分析-大数据

热门文章

  1. debugger vsm_ProteusVSM常见问题解答
  2. python分组函数_Python中如何按列分组和按自己的函数汇总
  3. python爬火车票_python爬取12306火车余票程序(一)
  4. vba定义全局变量并赋值_利用VBA代码如何打开任意程序
  5. sql int 比较_高质量SQL的30条建议 建议你收藏
  6. CCF OJ 1113-括号匹配[栈]
  7. iis服务器怎样配置多张证书,IIS配置多个ssl怎么做?怎么配置?
  8. java socket 一边关闭_java socket - 半关闭
  9. linux vnc的小黑点和鼠标不同步_公欲善其事 | VNC的安装和使用
  10. 数据库mysql_row_MYSQL数据库mysql found_row()使用详解