普通链接
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>
分享到:
相关推荐
通过以上几个示例,我们可以看到 `<s:if>` 标签在 Struts2 中的应用是非常灵活和强大的。它可以用来实现各种复杂的逻辑判断,如数值比较、字符串匹配等。此外,结合其他标签如 `<s:iterator>`,可以实现更复杂的逻辑...
在Struts2框架中,`<sx:>`标签是Struts2 XWork库的一部分,用于增强JSP页面的功能,提供更强大的数据绑定和表单处理能力。本篇将重点讲解如何利用`sx:`标签实现组合查询和带分页功能。 首先,让我们了解下Struts2的...
在Struts2框架中,`<s:if>`标签用于条件判断,类似于Java中的if语句。本篇文章将深入解析这段代码所涉及的关键知识点,并通过实际案例帮助理解如何使用Struts2中的`<s:if>`标签进行逻辑控制。 ### Struts2概述 ...
在JSP页面中,我们可以使用Struts2的标签库(例如`s:textfield`, `s:checkbox`, `s:select`等)来创建表单元素,并将这些元素与Action的属性绑定。对于集合类型,我们通常会在JSP中通过迭代器遍历并生成多个表单...
1. <s:generator separator="" val=""></s:generator>----和<s:iterator>标签一起使用 H: 1. <s:head/>-----在<head></head>里使用,表示头文件结束 2. <s:hidden></s:hidden>-----隐藏值 I: 1. <s:...
以上只是Struts2标签库的一部分,实际使用中还有更多标签如`<s:textfield>`(文本输入框)、`<s:textarea>`(文本区域)、`<s:submit>`(提交按钮)等,每个都有其特定的用途,极大地简化了JSP页面的编写。在开发时...
`<s:param>` 传递参数给其他标签,`<s:password>` 创建密码输入框,`<s:property>` 获取并显示对象的属性值。 R. `<s:radio>, <s:reset>, <s:select>`: 创建单选按钮、重置按钮和下拉选择框。 S. `<s:set>, <s:...
`<html:file>`是Struts提供的一个标签,主要用于处理用户在HTML表单中上传文件的功能。在Struts 1中,这个标签简化了文件上传的复杂性,使得开发者可以方便地将用户选择的本地文件传递到服务器。 首先,我们来看`...
`<s:param>`为其他标签传递参数,比如在URL中添加查询参数。 `<s:password>`创建密码输入框,确保输入内容不被明文显示。 `<s:property>`标签用于获取"value"属性的值,可以用来显示Action中的属性值。 P. `<s:...
这些只是Struts 2 S标签库中的一部分,实际上还有许多其他标签,如`s:textfield`(文本字段)、`s:textarea`(文本区域)、`s:submit`(提交按钮)等等,它们极大地简化了MVC模式中的视图层开发。通过合理使用这些...
类似于Struts 1.x中的`<bean>`标签,用于在JSP页面中访问和操作JavaBean对象的属性。 #### `<s:checkbox>` 和 `<s:checkboxlist>` 标签 分别用于生成单个复选框和复选框列表,支持数据绑定和值列表选择。 #### `...
`<s:form>` 标签用于创建表单,可以指定Action、Method等属性,是Struts2中最常用的标签之一。 ```xml <s:form action="saveData"> <!-- 表单内容 --> </s:form> ``` ### 17. `<s:generator>` 标签 `<s:...
除了`<s:textfield>`,Struts2还提供了多种表单标签,如`<s:password>`用于创建密码输入框,`<s:textarea>`用于创建多行文本输入框,`<s:radio>`和`<s:checkbox>`用于创建单选按钮和复选框,以及`<s:select>`用于...
而在 Struts2 中,所有的标签都被统一管理,并通过在 JSP 文件头部声明 `<%@ taglib prefix="s" uri="/struts-tags" %>` 来启用 Struts2 的标签库。这种方式简化了开发过程中的配置工作,使得开发者可以更加专注于...
- `<s:url>`和`s:a>`:创建链接,`<s:url>`用于生成URL,`<s:a>`则相当于HTML的`<a>`标签。 - `<s:action>`:执行一个Action并输出结果。 - `<s:debug>`:用于在页面上显示Action上下文的详细调试信息。 使用...
要在JSP页面中使用Struts2的S标签,首先需要在页面顶部添加如下声明: ```jsp <%@ taglib prefix="s" uri="/struts-tags" %> ``` 这行代码的作用是将Struts2提供的标签库导入到当前JSP页面中,并指定前缀为“s”。...
在Struts2中,不再像Struts1.x那样将标签库分为html、bean、logic和tiles等类别,而是统一使用一个`<s>`前缀的标签库,只需在JSP页面头部引入`<%@ taglib prefix="s" uri="/struts-tags" %>`即可使用所有标签。...
2. `<s:action>`:执行视图中的一个Action,可以传递参数并跳转到对应的Action结果页面。 3. `<s:actionerror>`:显示Action级错误信息,如果有错误则会被渲染出来。 4. `<s:actionmessage>`:显示Action级消息,...
此外,Struts2表单标签还可以与其他标签结合使用,如`<s:actionerror>`、`<s:fielderror>`和`<s:property>`,以显示验证错误信息或动态显示数据。`<s:actionerror>`显示全局错误,`<s:fielderror>`显示特定字段的...
在Struts2中,所有的标签都统一在`<s>`前缀下,通过引入`<%@ taglib prefix="s" uri="/struts-tags" %>`就可以在页面上使用这些标签。 **A组标签:** 1. `<s:a>` - 用于创建超链接,与HTML的`<a>`标签类似,可以...