result配置的各种视图转发类型
Strust2中的几种转发类型
dispatcher(默认)、redirect、redirectAction、plainText
<result type="redirect">/xxx.jsp</result>
■<------------redirect--------->
【ognl表达式】
<action name="redirect" class="struts2.demo.action.DemoAction">
<result type="redirect">/target.jsp?uid=${uid}</result>
</action>
可以采用ognl表达式访问action中的属性
package struts2.demo.action;
public class DemoAction{
private String uid;
public void setUid(String uid){
this.uid=uid;
}
public String getUid(){
return this.uid;
}
public String execute(){
this.setUid("ABC");
return "success";
}
}
这样重定向之后的页面路径为
http://127.0.0.1:8080/Struts2/target.jsp?uid=ABC
注意:如果要传递中文则需要编码
URLEncoder.encode("中文","utf-8");
在jsp页面上可以采用${param.uid}来获取参数值 如果值为中文需要转码
URLDecoder.decode(new String(request.getParameter("uid").getBytes("ISO-8859-1"),"utf-8"),"utf-8");
■<------------redirectAction--------->
<action name="redirect" class="struts2.demo.action.DemoAction">
<result type="redirectAction">
helloworld
</result>
</action>
如果要重定向到其他命名空间下的action则需要采用param属性
<package name="pack1" namespace="/demo" extends="struts-default">
<action name="helloworld" class="struts2.demo.action.HelloWorldAction">
<result>/WEB-INF/hello.jsp </result>
</action>
</package>
<package name="pack2" namespace="/demo" extends="struts-default">
<action name="redirect" class="struts2.demo.action.DemoAction">
<result type="redirectAction">
<param name="actionName">helloworld</param>
<param name="namespace">/demo</param>
</result>
</action>
</package>
■<------------plainText--------->
原样显示视图的源代码
如果要显示中文则需要注入一下编码类型
<result type="plainText">
<param name="location">helloworld</param>
<param name="charSet">utf-8</param>
</result>
■配置共用视图
<package name="pack1" namespace="/demo" extends="struts-default">
<global-results>
<result name="head">/WEB-INF/skin/head.jsp</result>
</global-results>
<action name="helloworld" class="struts2.demo.action.HelloWorldAction">
<result>/WEB-INF/hello.jsp</result>
</action>
</package>
public class HelloWorldAction{
public String execute(){
return "head";
}
}
此处配置的global-results只可以在当前包中共用 如果想要所有包共用可以将其放入一个base包中 然后让所有package继承这个base包
分享到:
相关推荐
结果配置在 struts.xml 文件中,通过 `<action>` 和 `<result>` 标签定义。 2. **拦截器(Interceptors)**:拦截器是 Struts 2 中的关键组件,它们在 Action 执行前后执行一些预定义的任务,如登录检查、日志记录...
- **MVC 架构**:Struts2 采用经典的 MVC 架构,分为模型(Model)、视图(View) 和控制器(Controller) 三个部分。 - **模型**:主要负责处理业务逻辑和数据访问,常用 JavaBean 或 EJB 实现。 - **视图**:负责向...
本文将深入探讨Struts2的核心概念,包括Action、Result、配置文件、OGNL与ValueStack、Tags以及项目中的关键实践。 **一、Action** Action是Struts2中处理业务逻辑的核心组件,它是实现了`...
本笔记主要涵盖了Struts2的基础知识,包括但不限于配置、Action、拦截器、结果类型以及异常处理等内容。 1. **Struts2框架简介** Struts2是Apache软件基金会的一个开源项目,它是Struts1的升级版,弥补了Struts1在...
13. ** strut2四天笔记**:这份学习笔记可能涵盖了以上所有知识点,包括如何创建Action,配置struts.xml,使用OGNL表达式,处理异常,以及实践中的各种技巧和最佳实践。 在四天的学习过程中,你应该通过实践和理解...
本课程笔记主要涵盖了Struts2的基础概念、核心功能及其工作流程。 首先,Struts2的处理流程是通过一系列的组件协作完成的,包括Filter Dispatcher(过滤器调度器)、Action、Interceptor(拦截器)和Result。当用户...
Struts2是一个强大的Java web应用程序开发框架,它简化了MVC(模型-视图-控制器)设计模式的实现,提供了一种组织应用结构和处理HTTP请求的强大方式。本笔记将深入探讨Struts2的核心概念、执行流程、类型转换、输入...
Struts2是一个流行的Java web框架,...以上就是"马士兵Struts2笔记2013"中涉及的主要知识点,这些内容涵盖了Struts2的基础配置、数据处理、验证、调试以及与视图层的交互等方面,对于理解和掌握Struts2框架非常有帮助。
本笔记将详细阐述Struts2的配置过程及核心jar包的使用。 一、Struts2概述 Struts2是Apache软件基金会的开源项目,它继承了Struts1的优点并解决了其局限性,提供了更加优秀的行动(Action)控制、拦截器...
2. **struts.xml文件**: 此文件是Struts2的主要配置文件,用于定义应用程序的业务逻辑,如Action映射、拦截器栈等。 - **配置示例**: ```xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC ...
6. **插件机制**:Struts2支持丰富的插件,如Freemarker和JSP作为视图技术,Tiles作为布局管理,以及各种数据校验和国际化插件。 7. **OGNL表达式语言**:OGNL是Struts2中用于访问和设置对象属性的强大表达式语言,...
Struts2是一个强大的MVC框架,它为Java Web应用程序提供了模型-视图-控制器的设计模式。在本笔记中,我们将深入探讨Struts2的核心配置文件`struts.xml`及其主要配置元素。 首先,`struts.xml`是Struts2的核心配置...
### Struts2学习笔记知识点概览 #### 一、Struts的作用 - **核心功能**:Struts2框架的核心功能之一就是将业务逻辑与展示层分离,实现MVC(Model-View-Controller)架构模式。这有助于提高代码的可维护性、可扩展...
Struts2是一个流行的Java web应用程序框架,用于构建MVC(模型-视图-控制器)架构的应用。在深入探讨Struts2的学习笔记之前,先来理解它的核心概念。 **1. Struts2依赖的JAR包** Struts2的运行离不开一系列的依赖库...
Struts2支持多种结果类型(Result Types),如`dispatcher`(默认的HTTP重定向或转发)、`stream`(用于下载文件)和`freemarker`(与FreeMarker模板引擎集成显示视图)。这些结果类型使得Struts2能灵活地处理动作...
Struts2是一个强大的Java EE应用程序开发框架,专用于构建基于MVC(模型-视图-控制器)模式的Web应用。它的出现极大地简化了Java Web应用的开发,通过提供丰富的插件和灵活的配置机制,使得开发者可以快速地构建出...
Result是Action执行后的响应结果,Struts2提供了多种Result类型: - Dispatcher Result:默认结果类型,通常用于转发到JSP页面。 - Redirect Action Result:将请求重定向到另一个Action。 - Chain Result:链式处理...
- **Xwork**:Xwork是Webwork的前身,Struts2在其基础上构建,提供了动作调度、类型转换、拦截器等功能。 - **OGNL (Object-Graph Navigation Language)**:Struts2使用OGNL作为表达式语言,用于在Action和视图...