`
cppmayi
  • 浏览: 25801 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Struts2学习笔记3

阅读更多

 Include:

配置的action比较多的时候可以根据action的逻辑进行分包操作,就是命名多个struts.xml,在主要的struts.xml中添加include标签,将其他逻辑的xml包含进来,配置如下:

<include file="struts1.xml"></include>

Intercerptor拦截器配置(跟过滤器差不多)、后面会详细讲解,先了解下配置

可以配置intercerptor栈,支持继承,如下:

<interceptors>

<interceptor-stack name="myIcp">

<interceptor-ref name=""></interceptor-ref>

</interceptor-stack>

</interceptors>

补充Action的配置:

配置action的method属性(项目中常用配置)

Name对应前台页面传递的action名字,method对应action类中的方法名字

其中在Action类中方法的名字可以这样写:doLogin,这样的目的是防止与关键字重名,但是最好还是采用前一种方法,起名字时避免起关键字,在查找方法时也比较方便。

DMI动态方法调用:

前台:

<href="<%=path %>/test1/test1.action!add">test1</a>

Struts.xml配置:

<action name="test1" class="com.ant.action.LoginAction">

<result name="success">/msg/loginSuc.jsp</result>

<result name="fail">/msg/loginFail.jsp</result>

</action>

Action类中要有add方法

缺陷:多个action对应的方法返回值和返回页面要一致

有点:省写action的配置

建议使用method方式

Forward action(一般不用)是指有些程序员习惯是jspjsp页面之间不可以直接跳转,个人认为这没太大的意义

<action name="index">

<result>/index.jsp</result>

</action>

前台: <herf="index.action">主页</a>

默认action

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

<action name="error">

<result>/error.jsp</result>

</action>

在请求不存在的时候专项error.jsp

Web.xml配置不存在页面或请求的转发Error-page的配置

<error-page>

<error-code>404</error-code>

<location>/error.jsp</location>

</error-page>

根据ie版本和配置的不同有不同的情况

actionmethod配置中会遇到配置量很大的情况,这时用到通配符:

*表示所有字符(不包含”/“)

**表示所有字符(包含”/“)

\表示转义符

前台

<h1>CRUD操作</h1>

<href="addUser.action">添加用户</a><br>

<href="delUser.action">删除用户</a><br>

<href="modifyUser.action">修改用户</a><br>

<href="queryUser.action">查询用户</a><br>

配置

<!--  

<action name="addUser" class="com.ant.action.UserAction"

method="add">

<result name="success">/addUserSuc.jsp</result>

</action>

<action name="delUser" class="com.ant.action.UserAction"

method="del">

<result name="success">/delUserSuc.jsp</result>

</action>

<action name="modifyUser" class="com.ant.action.UserAction"

method="modify">

<result name="success">/modifyUserSuc.jsp</result>

</action>

<action name="queryUser" class="com.ant.action.UserAction"

method="query">

<result name="success">/queryUserSuc.jsp</result>

</action>

-->

<action name="*User" class="com.ant.action.UserAction"

method="{1}">

<result name="success">userControl/{1}UserSuc.jsp</result>

</action>

由原来的四个action变成了一个action

这种优势在针对多个表进行CURD操作时更为突出

如对Role表也进行CURD操作,只需要在struts.xml中增加一个action

<action name="*Roleclass="com.ant.action.RoleAction"

method="{1}">

<result name="success">userControl/{1}RoleSuc.jsp</result>

</action>

在效率上可以优化,关键在于action名字的取法:如前台:userAdd.action

后台可以action name="user*"

甚至可以起名字的时候采用User_add.action(表名_方法名,表名一定要大写,因为在配置的时候第一个参数要作为类名)

在后台可以采用<action name="*_*class="com.ant.action.{1}Action"

method="{2}">

<result name="success">baseControl/{1}/{0}Suc.jsp</result>

</action>

由此可见,在jsp命名的时候也要注意大小写的问题{0}表示*_*

采用这种方式一定要做好注释,在系统维护的时候可以方便的查看

在通配符的使用中要注意优先级

不包含通配符的路径,优先级最高

包含通配符的路径,优先级按照顺序来定,前面的大于后面的

Zreo configration 零配置  注解配置  配置放在action类中,struts.xml是空的

Action类中需要配置以下内容,是类级别的

@ParentPackage(value="struts-default")

@Namespace(value="/")

//@Result(name="success",value="/login.jsp")

@Results({

@Result(name="success",value="/login.jsp"),

@Result(name="error",value="/loginError.jsp")

})

前台action=user.action注意user是小写,要与类名一致,如类名UserAction

个人认为,这种方式将是struts2配置的发展方向

<!--EndFragment-->
  • 大小: 53.4 KB
分享到:
评论

相关推荐

    struts2学习笔记3数据类型转换

    struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换

    Struts2学习笔记

    根据给定的文件信息,以下是对Struts2学习笔记中涉及的关键知识点的详细解析: ### Struts2框架概览 #### MVC模式的理解与演进 Struts2是基于MVC(Model-View-Controller)模式设计的一种Java Web开发框架。在MVC...

    struts2学习笔记总结

    本笔记将全面总结Struts2的核心概念、主要功能以及实际开发中的应用。 一、Struts2概述 Struts2是Apache软件基金会下的一个开源项目,它继承了Struts1的优点并解决了其存在的问题,如性能和灵活性。Struts2的核心是...

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

    Struts2是一个强大的Java web应用程序开发框架,它遵循Model-View-Controller (MVC)设计模式,用于构建可维护性和可扩展性高的企业级应用。本文将深入探讨Struts2的核心概念,包括Action、Result、配置文件、OGNL与...

    struts2 学习重点笔记

    ### Struts2 学习重点知识点总结 #### 一、Struts2 概念与架构 **1.1 Struts2 简介** - **定义**:Struts2 是 Apache 组织提供的一个基于 MVC 架构模式的开源 Web 应用框架。 - **核心**:Struts2 的核心其实是 ...

    张龙圣思园struts2学习笔记word

    张龙圣思园的Struts2学习笔记,无疑为Java开发者提供了一份宝贵的参考资料,它可能涵盖了Struts2的基础概念、核心组件、配置方式以及实战技巧。 首先,让我们深入了解Struts2的核心特性。Struts2是MVC(Model-View-...

    struts2学习笔记.doc

    ### Struts2学习笔记知识点概览 #### 一、环境搭建 **1.1 Struts2简介** - **Struts2概述**:Struts2是一个开源的MVC框架,它结合了Struts 1.x、WebWork和其他一些框架的优点。Struts2的主要目标是简化Web应用程序...

    struts2学习笔记(1)

    ### Struts2学习笔记知识点详解 #### 一、Struts2框架的基本引入步骤 ##### 1. 导入Struts2相关Jar包 在引入Struts2框架时,首先需要将Struts2的相关Jar包导入到项目的类路径中。这些Jar包通常包括核心库以及其他...

    struts2学习笔记

    struts2学习笔记struts2学习笔记struts2学习笔记

    struts2学习笔记黑马程序员

    ### Struts2学习笔记之文件上传与Ajax开发 #### Struts2文件上传 **文件上传简介** 文件上传是Web应用中常见的功能之一,Struts2框架内置了对文件上传的支持,使得开发者能够轻松地实现这一功能。为了确保文件...

    struts2四天的学习笔记

    13. ** strut2四天笔记**:这份学习笔记可能涵盖了以上所有知识点,包括如何创建Action,配置struts.xml,使用OGNL表达式,处理异常,以及实践中的各种技巧和最佳实践。 在四天的学习过程中,你应该通过实践和理解...

    struts2 学习笔记 实战

    Struts2是一个强大的MVC(Model-View-Controller)框架,它在Java Web开发中扮演着重要的角色。本文将深入探讨Struts2的核心概念,包括Namespace、标签、Action以及它们在实际开发中的应用。 一、Namespace ...

    struts2学习笔记(详细文字)

    structs2很详细的学习笔记,structs2的建造,工作原理,例子,逐步讲解,纯文字的

    struts 2 学习笔记

    在Struts2中,学习笔记通常会涵盖以下几个关键概念: 1. **源代码查看和Javadoc**:开发者可以通过查看源代码来理解Struts2的工作原理,而Javadoc则提供了API文档,帮助理解类和方法的功能。 2. **包(Package)和...

Global site tag (gtag.js) - Google Analytics