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动态方法调用:
前台:
<a 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(一般不用)是指有些程序员习惯是jsp与jsp页面之间不可以直接跳转,个人认为这没太大的意义
<action name="index">
<result>/index.jsp</result>
</action>
前台: <a 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版本和配置的不同有不同的情况
在action的method配置中会遇到配置量很大的情况,这时用到通配符:
*表示所有字符(不包含”/“)
**表示所有字符(包含”/“)
\表示转义符
前台
<h1>CRUD操作</h1>
<a href="addUser.action">添加用户</a><br>
<a href="delUser.action">删除用户</a><br>
<a href="modifyUser.action">修改用户</a><br>
<a 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="*Role" class="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学习笔记中涉及的关键知识点的详细解析: ### Struts2框架概览 #### MVC模式的理解与演进 Struts2是基于MVC(Model-View-Controller)模式设计的一种Java Web开发框架。在MVC...
本笔记将全面总结Struts2的核心概念、主要功能以及实际开发中的应用。 一、Struts2概述 Struts2是Apache软件基金会下的一个开源项目,它继承了Struts1的优点并解决了其存在的问题,如性能和灵活性。Struts2的核心是...
Struts2是一个强大的Java web应用程序开发框架,它遵循Model-View-Controller (MVC)设计模式,用于构建可维护性和可扩展性高的企业级应用。本文将深入探讨Struts2的核心概念,包括Action、Result、配置文件、OGNL与...
### Struts2 学习重点知识点总结 #### 一、Struts2 概念与架构 **1.1 Struts2 简介** - **定义**:Struts2 是 Apache 组织提供的一个基于 MVC 架构模式的开源 Web 应用框架。 - **核心**:Struts2 的核心其实是 ...
张龙圣思园的Struts2学习笔记,无疑为Java开发者提供了一份宝贵的参考资料,它可能涵盖了Struts2的基础概念、核心组件、配置方式以及实战技巧。 首先,让我们深入了解Struts2的核心特性。Struts2是MVC(Model-View-...
### Struts2学习笔记知识点概览 #### 一、环境搭建 **1.1 Struts2简介** - **Struts2概述**:Struts2是一个开源的MVC框架,它结合了Struts 1.x、WebWork和其他一些框架的优点。Struts2的主要目标是简化Web应用程序...
### Struts2学习笔记知识点详解 #### 一、Struts2框架的基本引入步骤 ##### 1. 导入Struts2相关Jar包 在引入Struts2框架时,首先需要将Struts2的相关Jar包导入到项目的类路径中。这些Jar包通常包括核心库以及其他...
struts2学习笔记struts2学习笔记struts2学习笔记
### Struts2学习笔记之文件上传与Ajax开发 #### Struts2文件上传 **文件上传简介** 文件上传是Web应用中常见的功能之一,Struts2框架内置了对文件上传的支持,使得开发者能够轻松地实现这一功能。为了确保文件...
13. ** strut2四天笔记**:这份学习笔记可能涵盖了以上所有知识点,包括如何创建Action,配置struts.xml,使用OGNL表达式,处理异常,以及实践中的各种技巧和最佳实践。 在四天的学习过程中,你应该通过实践和理解...
Struts2是一个强大的MVC(Model-View-Controller)框架,它在Java Web开发中扮演着重要的角色。本文将深入探讨Struts2的核心概念,包括Namespace、标签、Action以及它们在实际开发中的应用。 一、Namespace ...
structs2很详细的学习笔记,structs2的建造,工作原理,例子,逐步讲解,纯文字的
在Struts2中,学习笔记通常会涵盖以下几个关键概念: 1. **源代码查看和Javadoc**:开发者可以通过查看源代码来理解Struts2的工作原理,而Javadoc则提供了API文档,帮助理解类和方法的功能。 2. **包(Package)和...