`
百合不是茶
  • 浏览: 355963 次
社区版块
存档分类
最新评论

Struts的action和Result总结

阅读更多

 

 

一:Action的配置详解:

     下面是一个Struts中一个空的Struts.xml的配置文件

   

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
	"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
	"http://struts.apache.org/dtds/struts-2.3.dtd">

<struts>

    <constant name="struts.enable.DynamicMethodInvocation" value="false" />
    <constant name="struts.devMode" value="true" />

    <package name="default" namespace="/" extends="struts-default">

        <default-action-ref name="index" />

        <global-results>
            <result name="error">/WEB-INF/jsp/error.jsp</result>
        </global-results>

        <global-exception-mappings>
            <exception-mapping exception="java.lang.Exception" result="error"/>
        </global-exception-mappings>

        <action name="index">
            <result type="redirectAction">
                <param name="actionName">HelloWorld</param>
                <param name="namespace">/example</param>
            </result>
        </action>
    </package>

    <include file="example.xml"/>

    <!-- Add packages here -->

</struts>

 

 

   

    1,   包配置  

      <package name="default" namespace="/" extends="struts-default">  </package>

 

  2,  name  表示包的名字 

 

  3,  namespace="/"  ;表示访问该包下面的路劲时必须要在路径前加 /xx

                 也可以使用namespace="/space"  访问时加上/space/xx

 <package name="default"  extends="struts-default">
        <action name="hello" >
            <result >/login.html</result>
        </action>
    </package>

 

  当namespace不存在时如何访问;

     xxx/aaa/bbb/hello 

     aa/hello    都可以访问到

 

  4,extends="struts-default"继承默认的标签

 

 

  5,Action中的调用;

   

   a; 普通调用

 <action name="hello" >
            <result >/login.html</result>
        </action>

 

 b,动态调用;

  2,3可能会包错: 

There is no Action mapped for namespace [/user] and action name [user!add] associated with context p

解决办法;

    将DMI打开 <constant name="struts.enable.DynamicMethodInvocation" value="true" />

 

 

6,include模块

  Struts.xml可以相互引入

    <include file="login.xml" />  login,xml的配置与Struts.xml相同

 

7,Struts中Session会话的使用例子;

   保存会话

	@Override
	public String execute() throws Exception {
		System.out.println(">"+username+"<>"+userpwd+"<");
		if ("scott".equals(username) && "tiger".equals(userpwd)) {
		   HttpServletRequest request=(HttpServletRequest) ServletActionContext.getRequest();
		   HttpSession session=request.getSession();
		   session.setAttribute("name", username);
			return "hello";
		} else {
			return "hellow";
		}

	}

 

获取会话

<% 

  String name=(String)session.getAttribute("name");

%>

 欢迎<a href="login.html"><%=name %>登陆</a>

 

 

 

9,Result的使用

   <result type="redirectAction">   重新请求action

   Chain 处理action连接

   Dispatcher 处理jsp页面

    Redirect重定向

 

 

 

 

 

 

 

0
0
分享到:
评论

相关推荐

    struts2 result转向到action

    ### Struts2 Result 转向到 Action 的深入解析 #### 一、基本概念与应用场景 **Struts2** 是一款流行的 Java Web 开发框架,它支持多种开发模式(如 MVC),并提供了一系列用于简化 Web 应用程序开发的功能。在 ...

    struts2 result配置详解

    在 Struts2 框架中,Redirect 和 Redirect-action 是两个不同的 Result 配置类型。Redirect 配置用于重定向到一个新的 URL,而 Redirect-action 配置用于重定向到一个 Action。 Redirect-action 配置可以省略后缀名...

    struts2总结项目总结

    在本项目总结中,我们将深入探讨Struts2的核心特性、工作原理以及如何在实际项目中应用。 一、Struts2框架基础 1. 动态方法调用(Dynamic Method Invocation,DMI):Struts2允许通过URL直接调用Action类的方法,...

    struts2 Result类型

    对于源码学习,`com.opensymphony.xwork2.action`和`com.opensymphony.xwork2.interceptor`这两个包下的类是理解Struts2核心机制的关键,尤其是`ActionSupport`、`ActionContext`、`Result`接口和`ResultSupport`类...

    jsp\No result defined for action and result input.doc

    ### Struts2框架中“No result defined for action and result input”错误解析及解决方法 #### 错误概述 在Struts2框架中开发Web应用程序时,可能会遇到一个名为“No result defined for action and result input...

    struts2 result type 介绍

    在Struts2中,Result Type是由`struts-default.xml`配置文件中的`&lt;package&gt;`元素的`defaultResultType`属性指定的,默认情况下,这个值通常是“dispatcher”,意味着Action完成后会使用Dispatcher Result来渲染JSP...

    struts2中result类型之redirect

    综上所述,`Redirect`类型的`Result`在Struts2框架中扮演着重要角色,它是控制Web应用程序流程,确保用户体验和系统稳定性的有效手段。在实际开发中,开发者需要根据需求选择合适的`Result`类型来达到最佳的效果。

    struts2的result标签使用

    Struts2框架基于MVC设计模式,主要由四部分组成:Action、ActionMapping、Result和Interceptor。Action负责处理用户的请求,ActionMapping定义Action与URL的映射,Result则指定Action执行后的返回结果,Interceptor...

    Struts2知识点总结

    - Struts2的默认表示语言,用于在Action和视图之间传递数据,支持动态属性访问。 7. **插件和扩展** - Struts2支持丰富的插件系统,如Freemarker或Velocity作为视图模板引擎,Struts2-dojo-plugin提供AJAX支持,...

    struts2中result类型之redirectAction

    在Struts2中,Result是Action执行后控制流程的重要组件,它定义了Action执行完毕后如何转发或重定向到一个新的页面。"redirectAction"是Struts2中的一种Result类型,专门用于实现HTTP级别的重定向。 重定向是一种...

    struts2的action的几种result type说明

    在Struts2中,Action是业务逻辑的核心组件,而Result是控制流程的关键部分,它定义了Action执行后如何展示结果。Result Type是Result的一种预定义类型,决定了结果如何被处理和展现给用户。在`struts-default.xml`...

    Struts2 result和type

    通过对Struts2中`Result`与`Type`的理解和运用,可以更加灵活地控制页面的流向和展示形式,从而提高应用程序的可维护性和扩展性。希望本文能帮助读者更好地掌握这些核心概念,并在实际项目开发中发挥出应有的作用。

    struts2 action跳转action传参数

    ### Struts2中Action间的参数传递方法 在Struts2框架中,经常需要实现Action之间的跳转,并在跳转过程中传递必要的参数。这种需求在实际开发中非常常见,尤其是在需要根据用户的不同操作来调用不同的业务逻辑时。...

    struts2一个action处理多个请求 struts2实例

    在Struts2框架中,Action类是业务逻辑处理的核心组件,它负责接收并处理来自用户的请求。本实例探讨了如何让一个Action类处理多个请求,这在开发中常见于需要集中处理相似请求的情况,可以提高代码复用性和结构的...

    Struts2输入校验总结

    6. **表单提交与显示错误**:在JSP页面中,使用Struts2标签库如`&lt;s:form&gt;`和`&lt;s:submit&gt;`创建表单,并通过`action`属性指定验证的Action。如果验证失败,Struts2会自动显示错误消息。例如: ```jsp &lt;s:form action...

    Struts2_result返回类型

    在Struts2中,Action是业务逻辑的核心,而Result则是Action执行后的响应方式。`Struts2_result返回类型`指的是在Action执行成功或失败后,如何将控制权传递到下一个页面或资源。这些返回类型定义了不同的结果处理...

    Struts2课堂学习总结

    `&lt;package&gt;`、`&lt;action&gt;`和`&lt;result&gt;`标签定义了Action和结果页面的映射。命名空间(namespace)用于组织Action,比如`/`、`/xxx`或`/xxx/yyy`,影响Action的访问路径。 4. **执行流程**:当用户发起请求时,Tomcat...

    struts2学习笔记(完美总结)——转自OPEN经验库

    总之,Struts2作为一款成熟的Web框架,提供了许多强大的特性,如Action、Result、OGNL、Tags以及灵活的配置和命名空间管理。熟练掌握这些核心概念,有助于开发者构建高效、稳定的Java web应用。

    Struts2 Action参数详细说明

    总结来说,Struts2 Action的参数包括`name`、`class`、`namespace`、`method`等,它们共同构成了Action的完整配置,使我们能够灵活地定义和控制Action的行为。同时,通过`method`属性和DMI,我们可以实现一个类中多...

Global site tag (gtag.js) - Google Analytics