转自:http://sgl124764903.iteye.com/blog/444183

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。

1.名字注册 
<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>

1.3说明
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>

Struts2中的链接标签 <s:url>和<s:a>---在action中获取jsp表单提交的参数(转)的更多相关文章

  1. struts2 jsp表单提交后保留表单中输入框中的值 下拉框select与input

    原文地址:struts2 jsp表单提交后保留表单中输入框中的值 下拉框select与input jsp页面 1     function dosearch() {2         if ($(&q ...

  2. SpringMVC中使用bean来接收form表单提交的参数时的注意点

    这是前辈们对于SpringMVC接收表单数据记录下来的总结经验: SpringMVC接收页面表单参数 springmvc请求参数获取的几种方法 下面是我自己在使用时发现的,前辈们没有记录的细节和注意点 ...

  3. Thinkphp5 表单提交额外参数和页面跳转参数传递url

    1. 表单提交 <input type="hidden" name="project_name" value="$project_name&qu ...

  4. 获取html 中的内容 将前台的数据获取到后台 用 jquery 生成一个 form表单 提交数据

    使用js创建一个form表单 ,使用post上传到后台中 下面是代码.在获取html内容的时候使用了js节点来获取内容. parent:父节点.上一级的节点 siblings:兄弟节点.同一级别的节点 ...

  5. JavaWeb -- Struts2,对比, 简单表单提交,校验,防重复提交, 文件上传

    Struts2核心流程图 1. Struts2 和 Struts1 对比 struts1:基于Servlet(ActionServlet),actionForm众多(类的爆炸),action单例(数据 ...

  6. 详解JavaScript中的Url编码/解码,表单提交中网址编码

    本文主要针对URI编解码的相关问题做了介绍,对Url编码中哪些字符需要编码.为什么需要编码做了详细的说明,并对比分析了Javascript 中和 编解码相关的几对函数escape / unescape ...

  7. a标签指定的url,在表单提交前进行js验证的实现

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  8. php form表单提交时,action url中参数无效的解决方法

    表单提交时get方式的一个错误 <form class="form-inline pull-right" method="get" action=&quo ...

  9. input file 在开发中遇到的问题 类似ajax form表单提交 input file中的文件

    最近在做项目的过程中遇到个问题,在这里做个记录防止日后忘记 现今的主流浏览器由于ajax提交form表单无法把文件类型数据提交到后台,供后台处理,可是开发中由于某些原因又不得不用ajax提交文件, 为 ...

随机推荐

  1. iOS 多线程学习笔记 —— GCD

    本文复制.参考自文章:iOS多线程编程之Grand Central Dispatch(GCD)介绍和使用 ,主要为了加强个人对知识的理解和记忆,不做他用.原作者声明: 著作权声明:本文由http:// ...

  2. IIS7 上传 下载文件大小限制的设置

    IIS7 上传 下载文件大小限制的设置 本文来自IISBOY网 一.找到修改大小的配置文件和配置节点 本文来自IISBOY网 打开你系统盘(我是C盘),找到 C:\Windows\System32\i ...

  3. NGU-学习笔记(1)-动态添加删除图集

    现在 正在做unity的方向 不得不说我选的是UI方向 Unity中很有名的就是NGUI插件了.今天做了个ngui的简单背包系统.非常简陋..初学着 自己mark下 (1)预览 主要就是个 simpl ...

  4. 《A First Course in Probability》-chape4-离散型随机变量-方差

    为了描述一组数据的均值,我们引入了数学期望的概念,为了描述一组数据相对均值的波动情况,我们引入了方差. 能够看到,方差的本质也是一个期望,那么我们就能够利用期望的定义将其继续展开. 方差的一条重要性质 ...

  5. HDU 1502 Regular Words DP+高精度

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1502 题目大意:找出总的满足条件的字符串数,num(a)=num(b)=num(c)且任何前缀均满足n ...

  6. hdu 4717 The Moving Points(三分+计算几何)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4717 说明下为啥满足三分: 设y=f(x) (x>0)表示任意两个点的距离随时间x的增长,距离y ...

  7. UVA 424 (13.08.02)

     Integer Inquiry  One of the first users of BIT's new supercomputer was Chip Diller. Heextended his ...

  8. Python学习总结 06 paramiko 远程执行命令

    有时会需要在远程的机器上执行一个命令,并获得其返回结果.对于这种情况,python 可以很容易的实现. 1 工具 Python paramiko 1) Paramiko模块安装 在Linux的Term ...

  9. python之json学习

    1. 从python原始类型向json类型的转换过程,具体的转换如下: import json json.dump(obj, fp, skipkeys=False,ensure_ascii=True, ...

  10. boost------asio库的使用1(Boost程序库完全开发指南)读书笔记

    asio库基于操作系统提供的异步机制,采用前摄器设计模式(Proactor)实现了可移植的异步(或者同步)IO操作,而且并不要求多线程和锁定,有效地避免了多线程编程带来的诸多有害副作用. 目前asio ...