在没有使用Struts2的时候可以使用el来进行url传参。而在Struts2中不推荐使用el(其实在Struts2.0.0.11之后就不再支持el)而推荐使用功能更为强大的ognl表达式语言。那么怎么使用ognl实现url传参?
<s:url>就是解决这一问题的标签
<s:url>标签一般和超链接 <a>一起使用,用于带多个参数。
<a href=" <s:url action=""> <s:param name=" " value=""></s:param> <s:param name=" " value=""></s:param> <s:param name=" " value=""></s:param> </s:url>" >测试连接</a>
<s:url>生成一个url地址,可以通过url标签制定的<s:param>子元素向URL地址发送请求参数
<s:url action=""> 指定请求地址 <s:param name="" value=""></s:param> 指定参数 </s:url>
例子:
<!--action是action的名字,为url添加参数使用param标签--> <s:url var="url" action="mainPage"> <s:param name="id" value="123"/> </s:url> <!--使用上面定义的url--> <s:a href="%{url}">测试连接</s:a> 该方法在生成的页面源码中生成如下代码 <a href="/NetBookShop_081029/mainPage?id=123">测试连接</a>
includeParams属性
<!--最重要的属性includeParams,该属性有三个值:none get all,默认值为get--> <!--属性值为get时,该url会将访问其所在jsp的的请求的所有get方法的参数添加到自身来--> <!--属性值为all时更是将get和post的的参数值全部添加到自身来--> <!--一般我们并不需要额外的参数,所以定义为none--> <s:url var="url" action="mainPage" includeParams="none"> <s:param name="id" value="123"/> </s:url>
includeContext属性
<!--includeContext:有true和false两个值。url中是否包含上下文,也就是在url中的项目名--> <!--这个一般不用改,让它自动包含,否则会定位到服务器的根目录下--> <s:url var="url" action="mainPage" includeContext="false"> <s:param name="id" value="123"/> </s:url> 生成的url就下面的样子了,注意在普通的html中使用/会定位到服务器的根目录,而在struts的标签里使用/会自动添加上下文,所以不用麻烦的指定项目名 <a href="/mainPage?id=123">url</a>
Method属性
<!--method用于指定执行action的方法 这个等同于action="mainPage!ok"--> <s:url var="url" action="mainPage" method="ok"> <s:param name="id" value="123"/> </s:url>
namespace属性
<!--指定命名空间后,生成的url会使用相对路径,具体的看我的结果--> <s:url var="url" action="mainPage" namespace="user"> <s:param name="id" value="123"/> </s:url> 结果如下 <a href="user/mainPage?id=123">url</a>
相关推荐
如果想要调用Action,应该使用Struts2的标签库,如`<s:actionexecute/>`或`<s:redirect/>`。 解决“no found”问题的步骤可能包括检查上述所有方面,确保配置正确、路径无误、拦截器没有干扰,以及web.xml的错误...
2. <s:url></s:url>-----创建url ___________________________________________________ struts2框架的标签库分为三类: 用户标签:生成HTML元素 非用户标签:数据访问、逻辑控制等。 AJAX标签:支持...
在Action或者JSP页面中,可以通过`<s:text>`标签来引用这些资源,实现动态显示不同语言的文本。 类型转换(Type Conversion)是Struts2的一项重要特性,它能自动将请求参数转换为Action属性的预期类型。例如,用户...
<s:a href="%{url}">链接文字</s:a> ``` - **解释**:`%{url}`将被替换为实际的URL路径。 ##### 2. `<s:action>` 执行Action标签 - **用途**:执行一个Action。 - **示例代码**: ```xml <s:action name=...
### Struts2中的S标签详解 #### 一、概述 Struts2框架是Apache软件基金会下的一个开源项目,它提供了一种基于MVC(Model-View-Controller)设计模式的Web应用开发框架。Struts2提供了丰富的标签库,其中“S标签”...
而在 Struts2 中,所有的标签都被统一管理,并通过在 JSP 文件头部声明 `<%@ taglib prefix="s" uri="/struts-tags" %>` 来启用 Struts2 的标签库。这种方式简化了开发过程中的配置工作,使得开发者可以更加专注于...
- `<s:action>`:用于调用Struts2的动作,可以传递参数。 - `<s:if>`和`<s:else>`:条件语句,用于控制页面逻辑。 - `<s:iterator>`:迭代标签,用于遍历集合对象,如List、Set等。 - `<s:property>`:显示对象...
在上述代码中,`<s:iterator>`遍历Action中返回的`users`集合,`<s:property>`显示属性值,`<s:url>`创建链接,`<s:form>`定义表单,`<s:textfield>`为表单字段,`<s:submit>`用于提交表单。 通过Struts2的标签库,...
6. 使用`<s:url>`和`<s:a>`标签生成URL和超链接时,参数通过`s:param`标签添加。 #### 四、总结 通过以上介绍,我们可以看到Struts2提供的标签库非常强大,可以帮助开发者更加便捷地实现各种功能需求。合理利用这些...
除了`<s:textfield>`,Struts2还提供了多种表单标签,如`<s:password>`用于创建密码输入框,`<s:textarea>`用于创建多行文本输入框,`<s:radio>`和`<s:checkbox>`用于创建单选按钮和复选框,以及`<s:select>`用于...
- `<s:url>`:生成URL,支持动态参数。 在使用Struts2标签时,还需要注意以下几点: - 标签的命名空间:通常以`s:`开头,表明来自Struts2标签库。 - 属性绑定:许多标签都允许通过`value`属性绑定到Action的属性。...
本文将深入讲解Struts2的标签,特别是`<s:a>`和`<s:action>`这两个重要的标签。 1. `<s:a>`标签: `<s:a>`标签用于创建HTML超链接,它可以与Action进行交互,提供更丰富的功能。在示例代码中,`<s:a href="login....
本文将深入解析Struts2的标签库,重点讲解`<s:a>`和`<s:action>`标签,以及它们在实际开发中的应用。 #### `<s:a>`标签详解 `<s:a>`标签是Struts2标签库中用于创建HTML超链接的标签,与标准HTML中的`<a href="">`...
13. `<s:if>`, `<s:elseif>`, `<s:else>`:条件判断标签,如`<s:if test="%{condition1}">...<s:elseif test="%{condition2}">...<s:else>...</s:else></s:elseif></s:if>`,可以用来根据表达式的真假执行不同的代码...
`<s:token>` 用于防止重复提交,`<s:tree>` 创建树形结构,`<s:treenode>` 定义树节点,`<s:updownselect>` 创建可上下选择的多选框,`<s:url>` 生成URL,通常与Action关联。 以上就是Struts标签的基本介绍,它们极...
除了上述标签,Struts2还提供了许多其他标签,例如`<s:iterator>`用于迭代集合数据,`<s:property>`用于显示值栈中的属性值,`<s:action>`用于执行Action并获取结果,以及`<s:url>`用于生成URL链接等。 总的来说,...
<s:action name="tag2" executeResult="false"/> ``` - **更多信息**:`executeResult` 属性用于控制是否执行Action中的 `execute` 方法。 ##### 3. **`<s:actionerror>` 标签** - **功能**:输出错误信息到...
除此之外,Struts2 还提供了其他通用标签,如 Bean 标签用于操作 JavaBean 对象,URLs 标签用于生成 URL,Action 标签用于调用 Action 方法等。每个标签都有其特定的用途和参数,它们共同构成了 Struts2 标签库的...
此外,Struts2表单标签还可以与其他标签结合使用,如`<s:actionerror>`、`<s:fielderror>`和`<s:property>`,以显示验证错误信息或动态显示数据。`<s:actionerror>`显示全局错误,`<s:fielderror>`显示特定字段的...