- 浏览: 141304 次
- 性别:
- 来自: 南宁
文章分类
- 全部博客 (137)
- J2SE API基础 (19)
- JAVA Structure/Algorithm (1)
- 设计模式及UML(pd/rose) (11)
- SSH (32)
- JPA/EJB/JSF (0)
- Jsp/Servlet (1)
- XML (0)
- DWR/Dojo/JQuery(Ajax) (1)
- Js/css/HTML (3)
- Java报表开发 (0)
- 网络协议及认证加密算法 (2)
- Java多线程网络编程 (1)
- Lucence (0)
- Oracle Developer (5)
- Oracle DBA (3)
- mysql/SQLServer/DB2 (5)
- Weblogic配置/调试 (0)
- Tomcat/JBoss/Websphere (10)
- Linux/Unix操作部署及shell编程 (9)
- C/C++编程 (4)
- 系统分析 (0)
- 项目管理(CVS&风险控制) (0)
- JUnit单元和J2EE集成测试 (2)
- 软设/招聘 (6)
- IT English (8)
- Mathematics/Data Mining (1)
- Android开发爱好 (1)
- Flash制作爱好 (0)
- Professional wisdom (4)
- 序言 (1)
- 聊天记录 (0)
- 理想 (3)
- 承诺 (0)
- oifuslfjsldkj_chatrecord (1)
最新评论
-
blues1021:
dafeiwudi 写道什么叫外频和陪频啊?一般电脑都显示主频 ...
计算机组成原理和结构-时钟周期、机器周期、总线周期、指令周期含义和关系 -
dafeiwudi:
什么叫外频和陪频啊?一般电脑都显示主频,它不表示运算速递,我们 ...
计算机组成原理和结构-时钟周期、机器周期、总线周期、指令周期含义和关系
(1)struts-user.xml
Java代码
- <struts>
- <package name= "struts-user" extends = "struts-default" >
- <global-results>
- <result type="redirect-action" >UserAction_queryAll</result>
- </global-results>
- <action name="UserAction_login" class = "userAction" method= "login" ></action>
- <action name="UserAction_insert" class = "userAction" method= "insert" ></action>
- <action name="UserAction_update" class = "userAction" method= "update" ></action>
- <action name="UserAction_delete" class = "userAction" method= "delete" ></action>
- <action name="UserAction_queryById" class = "userAction" method= "queryById" ></action>
- <action name="UserAction_queryByLike" class = "userAction" method= "queryByLike" ></action>
- <action name="UserAction_queryAll" class = "userAction" method= "queryAll" >
- <result>/user/user_list.jsp</result>
- </action>
- </package >
- </struts>
<struts> <package name="struts-user" extends="struts-default"> <global-results> <result type="redirect-action">UserAction_queryAll</result> </global-results> <action name="UserAction_login" class="userAction" method="login"></action> <action name="UserAction_insert" class="userAction" method="insert"></action> <action name="UserAction_update" class="userAction" method="update"></action> <action name="UserAction_delete" class="userAction" method="delete"></action> <action name="UserAction_queryById" class="userAction" method="queryById"></action> <action name="UserAction_queryByLike" class="userAction" method="queryByLike"></action> <action name="UserAction_queryAll" class="userAction" method="queryAll"> <result>/user/user_list.jsp</result> </action> </package> </struts>
(2)struts.xml(引入了struts-user.xml)
Java代码
- <struts>
- <include file="struts-user.xml" ></include>
- <package name= "struts" extends = "struts-default" ></ package >
- </struts>
<struts> <include file="struts-user.xml"></include> <package name="struts" extends="struts-default"></package> </struts>
1. 使用<include>标签重用配置文件
(1) 在Struts2中提供了一个默认的struts.xml文件,但如果package、action、interceptors等配置比较 多时,都放到一个struts.xml文件不太容易维护。因此,就需要将struts.xml文件分成多个配置文件,然后在struts.xml文件中使 用<include>标签引用这些配置文件。如上面的代码。
注意:用<include>引用的xml文件也必须是完成的struts2的配置。实际上<include>在引用时是单独解析的xml文件,而不是将被引用的文件插入到struts.xml文件中。
注 意:struts.xml和struts-user.xml中<package></package>标签中的 name属性不能相同。道理很简单,<struts></struts>标签中可以有多 个<package></package>标签,要通过name属性以示区别。
(2)Apache Struts 2 Documentation: Can we break up a large struts.xml file into smaller pieces --> Yes, there are two approaches. We can include other struts.xml file from a bootstrap, or we can package a struts.xml files in a JAR. Or both.
<1>By Include:A typical struts.xml files will have one or more include elements:
<struts>
<include file="struts-default.xml"/>
<include file="config-browser.xml"/>
<package name="default" extends="struts-default">
....
</package>
<include file="other.xml"/>
</struts>
The first include element tells the framework to load the struts-default.xml, which it will find in the struts2.jar file. The struts-default.xml file defines the "standard" interceptor and result definitions. You can put your own <include> elements in your struts.xml interchangeably with <package> elements. The configuration objects will be loaded in the order of appearance. The framework reads the configuration from top to bottom and adds objects as they are referenced.
<2>By JAR
A "module" can be added to an application by placing a struts.xml and related classes into a JAR on the classpath. FreeMarker and Velocity templates can also be provided by JAR, making it possible to distribution a module in a single, self-contained JAR that is automatically configured on startup.
2. 全局result(global-results)
(1)有很多时候一 个<result>可供很多<action>使用,这时可以使用<global- results>标签来定义全局的<result>,代码见struts-user.xml。执行顺序:当一个Action返回的 String没有相应的<result>与之对应,Struts2就会查找全局的<result>。
(2)Apache Struts 2 Documentation: Global Results
Most often, results are nested with the action element. But some results apply to multiple actions. In a secure application, a client might try to access a page without being authorized, and many actions may need access to a "logon" result. If actions need to share results, a set of global results can be defined for each package. The framework will first look for a local result nested in the action. If a local match is not found, then the global results are checked.
<!-- Defining global results -->
<global-results>
<result name="error">/Error.jsp</result>
<result name="invalid.token">/Error.jsp</result>
<result name="login" type="redirectAction">Logon!input</result>
</global-results>
3. <include>标签和<global-results>标签结合
(1)<global- results>标签的作用域只是当前<struts></struts>,也可以 说是当前的xml文件;struts2不允许把struts-user.xml(通过<include>引入到struts.xml)中 的<global-results>标签写在struts.xml中。
(2)如果struts-user.xml中的 package继承自struts.xml中的package,则可以将struts- user.xml中的<global-results>放在struts.xml中。然后struts-user.xml将 此<global-results>从struts.xml中继承过来。例如(将上面的两段代码简单修改):
(1)struts-user.xml
Java代码
- <struts>
- <!-- 这里struts-user继承(extends )的是struts, 即struts.xml中 package 的name属性值 -->
- <package name= "struts-user" extends = "struts" >
- <action name="UserAction_login" class = "userAction" method= "login" ></action>
- <action name="UserAction_insert" class = "userAction" method= "insert" ></action>
- <action name="UserAction_update" class = "userAction" method= "update" ></action>
- <action name="UserAction_delete" class = "userAction" method= "delete" ></action>
- <action name="UserAction_queryById" class = "userAction" method= "queryById" ></action>
- <action name="UserAction_queryByLike" class = "userAction" method= "queryByLike" ></action>
- <action name="UserAction_queryAll" class = "userAction" method= "queryAll" >
- <result>/user/user_list.jsp</result>
- </action>
- </package >
- </struts>
<struts> <!-- 这里struts-user继承(extends)的是struts, 即struts.xml中package的name属性值 --> <package name="struts-user" extends="struts"> <action name="UserAction_login" class="userAction" method="login"></action> <action name="UserAction_insert" class="userAction" method="insert"></action> <action name="UserAction_update" class="userAction" method="update"></action> <action name="UserAction_delete" class="userAction" method="delete"></action> <action name="UserAction_queryById" class="userAction" method="queryById"></action> <action name="UserAction_queryByLike" class="userAction" method="queryByLike"></action> <action name="UserAction_queryAll" class="userAction" method="queryAll"> <result>/user/user_list.jsp</result> </action> </package> </struts>
(2)struts.xml(引入了struts-user.xml)
Java代码
- <struts>
- <include file="struts-user.xml" ></include>
- <package name= "struts" extends = "struts-default" >
- <global-results>
- <result type="redirect-action" >UserAction_queryAll</result>
- </global-results>
- </package >
-
</struts>
发表评论
-
Unity3DHouse中成功删除信息
2011-08-10 01:12 817//在jsp页面传入的参数在Action类中调用deleteH ... -
hibernate3.0中实现修改数据记录
2011-08-10 01:11 6861.查询页面中传入参数: <a href=& ... -
Unity3DHouse4项目save(object1)到库问题的解决
2011-08-10 01:10 7091.添加时点击没有任何响应和提示,google了一遍有说是 ... -
Unity3DHouse4系统未解问题
2011-08-10 01:08 7981.struts1.2+spring 2.2+Hibern ... -
Struts表单提交的text String数据可以作为HQL中的Integer类型处理
2011-08-10 01:06 8751.传入数据的表单中的声明 :<form metho ... -
6月28日房产的登录模块报错
2011-08-10 01:04 8251.JSP语法报错 exception org.ap ... -
struts的jsp Action中传入EL表达式参数及myeclipse操作技巧(涛)
2011-08-10 01:03 8781.<a href="/searchBuild ... -
Struts标签之Cannot find bean under name org.apache.struts.taglib.html.BEAN错误
2011-08-10 01:02 1292Cannot find bean under name ... -
【转】关于在HQL中的模糊查询问题
2011-08-10 01:02 779来自:20 ... -
Struts中的Action二次请求不认路径../的解决方法
2011-08-10 01:00 847地址栏没有了项目名称:http://localhost:808 ... -
myEclipse项目部署问题之解决方法
2011-08-10 00:58 1010myeclipse下工程: 1.安装myclipse时6.5 ... -
Strut2的属性驱动,模型驱动的理解
2011-08-10 00:58 1078因为在struts1的版本中,属性的拦截以及控制的处 ... -
Hibernate注释中的参照完整性和复合主键类解析
2011-08-10 00:57 1042在引入了或声明了相关表或类后就能够使用它下面的方法,例如: ... -
【转】hibernate的@EmbeddedId嵌入式主键类详解
2011-08-10 00:56 1041复合主键也可以采用 ... -
Spring 2.*有注释的配置文件中各层配置详解
2011-08-10 00:55 854<?xml version="1.0" ... -
Spring 2.5注释程序执行过程和融合xml使用
2011-08-10 00:54 830Spring2.5注释 一、加载Spirng容器,在web. ... -
【转】Struts2注解使用解析
2011-08-10 00:54 810如果希望使用 struts2 ... -
《转改》Struts2和Spring的集成原理
2011-08-10 00:50 6902009年09月02日 星期三 下午 ... -
房产销售系统的服务器配置问题?
2011-08-10 00:48 704Tomcat在外面的安装时抛出404找不到资源,测试后 ... -
《学生选课系统课程设计》提交过程的感悟
2011-08-10 00:46 768今天去提交数据库课程设计,昨晚把数据库安装了一晚JDK,m ...
相关推荐
包元素用于组织相关的Action和Result,可以看作是模块化的配置。每个`<package>`可以继承其他包,从而重用和扩展配置。默认情况下,它继承自`struts-default`或`struts-blank`包,提供了许多内置的配置。 4. **...
这样做可以使得整个配置更加模块化和清晰,便于团队开发和后期维护。 2. 标签:此标签用于定义Struts2框架的全局常量配置。在Struts2中,开发者可以通过struts.properties文件定义各种配置属性,而这些属性也可以...
总结起来,Struts.xml配置文件的`<include>`标签提供了配置文件的模块化管理,使得大型项目更加易于维护。而Action的别名特性则允许我们在一个动作类中实现多个业务逻辑,提升了代码的组织效率。理解并熟练运用这些...
在实际开发中,struts.xml的配置应当遵循模块化和可复用的原则,将相似功能的Action归类在同一包下,利用拦截器提高代码复用和灵活性。同时,合理设置常量可以优化性能或满足特定需求。通过阅读博文和实践,开发者...
这样,`struts.xml`可以包含多个子配置文件,实现了配置的模块化。 6. **Package配置**: `package`元素用于组织Action、Interceptor和Result。例如,`namespace`属性定义了Action的命名空间,`extends`属性继承...
SSH(Spring、Struts2和Hibernate)是Java开发中常用的一种企业级应用框架组合,用于构建高效、可维护性高的Web应用程序。...这种组合在实际项目中非常常见,为开发高效、模块化的Web应用提供了强大支持。
Struts2+Hibernate架构是Java Web开发中常用的一种框架组合...这个结构使得项目具有良好的分层和模块化,易于扩展和维护。在实际开发中,还需要考虑异常处理、安全性、性能优化等多个方面,才能构建出高质量的Web应用。
`<struts>`标签内的`<include>`标签用于引入其他XML配置文件,例如`<include file="xx.xml"/>`,这使得配置文件可以模块化,提高代码的可维护性。 **拦截器配置** 拦截器是Struts2中实现业务逻辑控制和增强功能的...
通过合理配置这些元素,可以实现高度模块化、易于维护的Web应用。在配置过程中,还需要注意各个元素的属性设置和相互之间的依赖关系,确保整个应用的流程逻辑正确无误。随着技术的发展,Struts的使用可能会逐渐减少...
这有利于代码的模块化和复用。 6. **常量配置**:通过`<constant>`标签可以设置Struts 2的配置参数,如: ```xml <constant name="struts.devMode" value="true"> ``` 这样可以开启开发模式,提供更丰富的错误...
`<include>` 节点允许将配置分散到多个 XML 文件中,以实现模块化的配置。在这里,`struts-default.xml` 被包含,引入了 Struts 2 的默认配置,包括预定义的拦截器、结果类型等。 4. **<package> 元素**: - `...
这种方式使得代码更加整洁,同时提高了模块化的程度。 此外,SSH框架的整合还涉及到数据访问层。Hibernate作为ORM工具,通常通过Spring的数据访问/集成(DAO)支持来使用。Spring可以管理Hibernate Session,处理...
Struts2是一个流行的Java web应用程序框架,用于构建和维护可扩展、模块化和高度交互性的MVC(模型-视图-控制器)应用。在Struts2中,`struts.xml`是核心配置文件,它定义了应用的行为、动作、结果和其他组件。为了...
在实际项目中,我们通常会创建一个Spring配置文件,如`spring-struts.xml`,在这个文件中声明需要管理的Action类,以及相关的拦截器和事务管理策略。同时,Struts的配置文件(struts-config.xml或struts2的struts....
例如,将`struts.xml`拆分为多个包或模块相关的文件,将`applicationContext.xml`拆分为数据源、服务、DAO等多个部分。这样可以更好地组织和管理项目结构。 综上所述,Struts2.1、Spring3.0和Hibernate3.3的整合...
Spring提供了全面的后端服务管理,Struts则专注于 MVC(Model-View-Controller)架构的实现,而Hibernate是流行的ORM(Object-Relational Mapping)框架,用于简化数据库操作。下面我们将深入探讨这三个框架以及如何...
这种分工明确的架构设计,使得大型项目能够更好地进行模块化开发,提升代码的可读性和可维护性。 总结来说,SSH框架的配置文件是Java Web开发中的关键组成部分,它们各自负责不同的职责,共同构建了一个高效、灵活...
SSH框架整合指的是Struts2、Spring和Hibernate三个开源框架的集成,它们分别负责表现层、业务逻辑层和数据持久化层,形成一个强大的企业级应用开发解决方案。 Struts2是基于Action和拦截器的模型,它的核心是通过...
在项目架构中,Struts和XML的结合使得开发者可以将业务逻辑、数据访问和用户界面有效地分离,从而实现模块化开发。Struts负责控制流程,XML提供配置信息,两者协同工作,使得Web应用的结构更加清晰,易于维护。例如...
Struts框架的多模块设计是其一大特色,它有助于将复杂的项目拆分成多个可管理的小模块,提高代码的可维护性和可扩展性。本资料“Java进阶Struts多模块的技巧”旨在帮助开发者掌握如何有效地组织和管理Struts2框架中...