Struts2 ACTION 结果类型详解:dispatcher, redirect, redirectAction, plai...
需积分: 10 169 浏览量
更新于2024-08-18
收藏 876KB PPT 举报
"ACTION中RESULT的各种转发类型-Struts2 PPT"
Struts2是一个基于MVC设计模式的Java Web框架,它是在WebWork2的基础上发展起来的。与Struts1相比,Struts2具有许多优势,包括无侵入式设计、拦截器支持AOP编程、内置类型转换器、多视图技术支持以及更灵活的数据验证机制。
在ACTION配置中,RESULT是定义一个操作(Action)执行成功后如何转发或重定向的。默认的转发类型是`dispatcher`,它将结果页面通过请求Dispatcher分发到指定的页面。例如:
```xml
<action name="helloworld" class="cn.itcast.action.HelloWorldAction">
<result name="success">/WEB-INF/page/hello.jsp</result>
</action>
```
这段配置表示当`HelloWorldAction`的`execute`方法执行成功并返回`success`时,框架会将请求转发到`/WEB-INF/page/hello.jsp`页面。
除了`dispatcher`,Struts2还提供了其他几种转发类型:
1. redirect:这个类型会创建一个新的请求,将用户重定向到指定的URL,而不是简单地转发。例如:
```xml
<result type="redirect">view.jsp?id=${id}</result>
```
这里会将用户重定向到`view.jsp`,并将`id`参数设置为Action中`id`属性的值。
2. redirectAction:这个结果类型用于重定向到另一个Action,可以处理同一个包下的Action或者不同命名空间的Action。例如:
```xml
<result type="redirectAction">helloworld</result>
```
和
```xml
<result type="redirectAction">
<param name="actionName">helloworld</param>
<param name="namespace">/test</param>
</result>
```
第一个例子会重定向到当前包下的`helloworld` Action,第二个则会重定向到`/test`命名空间下的`helloworld` Action。
3. plainText:这个结果类型用于直接显示原始文件内容,比如显示JSP源代码。例如:
```xml
<result name="source" type="plainText">
<param name="location">/xxx.jsp</param>
<param name="charSet">UTF-8</param>
</result>
```
它会显示`/xxx.jsp`文件的内容,使用UTF-8编码。
在RESULT配置中,可以使用`${属性名}`表达式来访问Action中的属性。如上面的`redirect`例子,`id`参数的值就是来自Action的`id`属性。
Struts2提供的这些转发类型使得开发者可以根据需求选择合适的方式处理Action执行后的结果,增强了框架的灵活性和可扩展性。同时,Struts2的其他特性,如拦截器、类型转换器、数据校验和国际化支持,都极大地提升了开发效率和应用程序的质量。
2018-02-19 上传
2012-03-06 上传
2011-03-16 上传
2023-07-27 上传
2023-04-04 上传
2023-05-18 上传
2024-08-28 上传
2023-06-10 上传
2023-07-27 上传
花香九月
- 粉丝: 23
- 资源: 2万+
最新资源
- 解决Eclipse配置与导入Java工程常见问题
- 真空发生器:工作原理与抽吸性能分析
- 爱立信RBS6201开站流程详解
- 电脑开机声音解析:故障诊断指南
- JAVA实现贪吃蛇游戏
- 模糊神经网络实现与自学习能力探索
- PID型模糊神经网络控制器设计与学习算法
- 模糊神经网络在自适应PID控制器中的应用
- C++实现的学生成绩管理系统设计
- 802.1D STP 实现与优化:二层交换机中的生成树协议
- 解决Windows无法完成SD卡格式化的九种方法
- 软件测试方法:Beta与Alpha测试详解
- 软件测试周期详解:从需求分析到维护测试
- CMMI模型详解:软件企业能力提升的关键
- 移动Web开发框架选择:jQueryMobile、jQTouch、SenchaTouch对比
- Java程序设计试题与复习指南