在Action中我们经常会从这个Action跳转到另一个Action中,如果只是简单的跳转那么很容易,只需在struts配置文件中添加一个result,如:<result name="index">/manager/managerInfo/account.jsp</result>.
result有一个type属性,这里的type默认是dispatcher,但这种情况下action之间是不能发送请求的,这时我们就要用到redirect、redirect-action、chain,当要请求一个action时,可设定type的值为以上三个中的一个(他们的区别请参见blog.sina.com.cn/s/blog_56b7aaa10100eqs4.html),如:<result name="reload" type="redirectAction" >/manager/managerInfo/account.action</result>.
如果想在请求的过程中添加参数可以像超链接传值一样在最后用"xx?xx=xx"的形式来传递参数.如:<result name="reload" type="redirectAction">/manager/ managerInfo/account.action?参数名=参数值</result>,如果这里的参数值不是一个固定值可以用"${参数值}"这种形式,需要注意的是这里的"参数值"在相应的Action中一定要提供get/set方法,否则将无法获得参数值,当然这里也同样可以取一个对象的某个属性值即:${对象名.属性名},假如我想取得一个帐户的帐号:<result name="reload" type="redirectAction" >/manager/managerInfo/account.action?account.accountNO=${account.accountNO}</result>.
如果想传递多个参数用"&"符号来连接吗?NO,因为用"&"会在XML语法检查中报错,所以将"&"用"&"来替换就行了!如:<result name="reload" type="redirectAction" >/manager/managerInfo/account.action?account.accountNO=${account.accountNO}&account.balance=${account.balance}</result>.
注:当使用type="redirectAction"时,result中的.action(上面红色标注的地方)可要可不要,但是当你要传递参数里,而且参数中含有中文字符时一定不要加.action,否则你的参数值是无法传递的,这是自己后来才发现的,大家有兴趣的可以去试试...
原文出自:http://hi.baidu.com/futurekey/item/f594267704b3452d5c17898c
分享到:
相关推荐
这个入门实例主要关注如何在Struts2中传递参数,实现一个简单的登录功能。在这个过程中,我们将涉及到以下几个核心概念和步骤: 1. **Struts2架构**: Struts2框架基于拦截器(Interceptor)模型,它通过Action类...
1. **在struts.xml配置文件中传递参数** 在struts.xml中,你可以直接在`<result>`标签内使用`param`元素来定义参数。例如: ```xml <param name="location">/pages/myPage.jsp ${myValue} ``` 这里,`...
- 请求编码:Struts2配置文件(struts.xml或struts.properties)中可以设定全局的请求编码格式,例如`<constant name="struts.i18n.encoding" value="UTF-8"/>`。 - 表单编码:在HTML表单中,可以使用`accept-...
首先,在`struts.xml`配置文件中添加或修改常量,确保Struts2框架使用正确的字符编码。添加以下内容: ```xml <constant name="struts.i18n.encoding" value="UTF-8"/> ``` 这将设定Struts2框架的国际化编码为UTF-8...
ValueStack是Struts2中用于管理Action实例和模型对象的栈结构。通过Ognl(Object-Graph Navigation Language)表达式,我们可以直接在JSP页面中访问ValueStack中的任何对象和属性。例如,`...
- **Method属性**: 在Struts2配置文件中,可以通过`method`属性指定要调用的Action方法。如果没有指定`method`属性,框架默认调用`execute()`方法。 ```xml <result>/loginSuccess.jsp ``` #### 四、示例:处理...
1.概述strust2中的拦截器 28 2.自定义拦截器 28 方式一,实现Interceptor接口。 28 方式二、继承AbstractInterceptor抽象类 29 方式三、继承MethodFilterInteceptor类 30 3.使用来MethodFilterInterceptor灵活拦截 ...
1. 在Struts2框架的核心配置文件struts.xml中,通过标签设置struts.i18n.encoding属性为UTF-8,以指定Struts2框架进行国际化处理时使用UTF-8编码。具体配置如下: <struts> <constant name="struts.i18n.encoding...
为了深入理解Struts1,可以参考官方文档、在线教程以及技术博客,例如iteye上的"Struts学习"资源,它可能包含了Action、Form Bean、配置文件、标签库的使用等多个方面的实践案例。 总结,Struts1作为早期的Web框架...
3. **Action配置与结果展示**:创建一个Action类,并在`struts.xml`配置文件中定义Action,如`sort5`,指定其类名和方法,以及对应的视图结果。例如,`...
在Struts2中,Action是核心组件,它实现了业务逻辑处理。Struts2的配置文件包括web.xml和struts.xml,前者用于配置Servlet容器,后者则用于定义Struts2的行为。 1. Struts2的Action开发通常需要配置web.xml,struts...
在Struts2中,可以使用EL(Expression Language)表达式来访问Java对象的数据。为了在JSP页面中启用EL表达式,需要在页面头部加入以下声明: ```jsp ``` 这样就可以在页面中使用类似`${requestScope.count}`这样的...
12. **动态结果集**:在`struts.xml`配置文件中,可以通过`${action的属性名}`获取Value Stack中的值。 13. **带参数的结果集**:服务器端跳转(dispatcher)时,由于共享Value Stack,无需传递参数。只有客户端...
在 `web.xml` 中进行配置后,该过滤器将拦截所有请求并根据配置的 `struts.xml` 文件进行相应的处理。 综上所述,通过以上步骤,您可以成功地搭建并配置一个基本的Struts2应用程序。Struts2不仅简化了Java Web应用...
- Struts2的配置文件(struts.xml)中定义了Action和结果的映射,可以通过配置result元素来指定跳转的Action,并传递参数。例如: ```xml <param name="actionName">secondAction ${param1} ``` 这里...
4. **配置文件**:如struts-config.xml,定义了ActionForm与Action之间的映射关系,以及请求的处理路径。 5. **JSP**:视图层,用于显示数据和交互元素,可能会使用Struts的标签库来简化开发。 学习这个实例可以...
- `applicationContext-action.xml`:负责配置Struts2中的Action层。 - `applicationContext-service.xml`:具体业务逻辑层配置。 - `applicationContext-dao.xml`:数据库访问层配置。 #### 三、Spring + ...