`

Struts2的零配置方法总结

阅读更多

以下内容参考网上的资料

间接实现零配置
   struts.xml

Java代码 复制代码
  1. <action name="*/*" method="{2}" class="workbench.web.actions.{1}Action">      
  2. <result name="custom">/view/{1}/${target}.jsp</result>   
  3. </action>  
<action name="*/*" method="{2}" class="workbench.web.actions.{1}Action">   
<result name="custom">/view/{1}/${target}.jsp</result>
</action>



编写一个基础的Action

Java代码 复制代码
  1. public abstract class BaseAction {          
  2. protected final String CUSTOM = "custom";   
  3. private String target;   
  4. protected final Log logger = LogFactory.getLog(getClass());       public String getTarget() {   
  5. return target;}   
  6. public void setTarget(String target) {   
  7. this.target = target;}                 
  8. protected String render(String _target){   
  9. setTarget(_target);   
  10. return CUSTOM;}   
  11. }   
public abstract class BaseAction {       
protected final String CUSTOM = "custom";
private String target;
protected final Log logger = LogFactory.getLog(getClass());       public String getTarget() {
return target;}
public void setTarget(String target) {
this.target = target;}              
protected String render(String _target){
setTarget(_target);
return CUSTOM;}
} 

 

Java代码 复制代码
  1. public class UserAction extends BaseAction{       private User user;   
  2. private UserService userService;   
  3. public void setUserService(UserService userService) {   
  4. this.userService = userService; }                 
  5. public User getUser() {   
  6. return user;}          
  7. public void setUser(User user) {   
  8. this.user = user; }          
  9. public String test(){   
  10. user = userService.get(1l);   
  11. return render("test"); }   
  12. }   
public class UserAction extends BaseAction{       private User user;
private UserService userService;
public void setUserService(UserService userService) {
this.userService = userService; }              
public User getUser() {
return user;}       
public void setUser(User user) {
this.user = user; }       
public String test(){
user = userService.get(1l);
return render("test"); }
} 


访问:http://localhost:8080/workbench/User/test

真正的夫配置,它是基于包的路径的
原文:http://www.iteye.com/post/390374
web.xml:

Java代码 复制代码
  1. <filter>      
  2.     <filter-name>struts2</filter-name>      
  3.     <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>      
  4.     <init-param>      
  5.         <param-name>actionPackages</param-name>      
  6.         <param-value>demo.actions1,demo.actions2</param-value>      
  7.     </init-param>      
  8. </filter>  
<filter>   
	<filter-name>struts2</filter-name>   
	<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>   
	<init-param>   
		<param-name>actionPackages</param-name>   
		<param-value>demo.actions1,demo.actions2</param-value>   
	</init-param>   
</filter>


Struts2扫描到Action后,从actionPackages指定的包开始,子包名会成为这个Action的namespace,而Action的name则由这个Action的类名决定。将类名首字母小写,如果类名以Action结尾,则去掉"Action"后缀,形成的名字就是这个Action的名字。在如上所述的示例中,actionPackages指定为demo.actions1,demo.actions2,那么你可以这样访问demo.actions1.app.person.ListPeopleAction:
http://localhost:8080/app/person/listPeople
Struts2是通过"Result"和"Results"两个类级别的annotations来指定Results的。
作为示例,我们在webapp目录下建两个html文件:success.html和error.html,随便写点什么内容都可以。现在假设我们访问/app/person/listPeople时,或Action返回success就转到success.html页面,若是error就转到error.html页面,这只需要在ListPeopleAction类上加上一段注解就可以了:

Java代码 复制代码
  1. @Results({      
  2.     @Result(name="success", type=NullResult.class, value = "/success.html", params = {}),      
  3.     @Result(name="error", type=NullResult.class, value = "/error.html", params = {})      
  4. })     
  5.     
  6. public class ListPeopleAction {      
  7.     public String execute() {      
  8.         return "success";      
  9.     }      

http://qichunren.iteye.com/blog/193386 

分享到:
评论

相关推荐

    Struts2零配置

    ### Struts2零配置知识点详解 #### 一、引言:约定优于配置 在软件开发领域,特别是Java EE框架的应用中,“配置”一直占据着重要地位。然而,随着时间的推移,人们逐渐意识到过于依赖配置文件可能会带来诸多不便...

    struts2零配置[总结].pdf

    LightURL插件是Struts2社区提供的一种实现零配置的方法,它吸收了其他优秀插件的优点,比如CodeBehind和SmartUrls,旨在创建更简洁、更易维护的URL映射。以下是LightURL插件的使用步骤: 1. **添加依赖**:将`...

    STRUTS2:零配置插件CodeBehind

    ### STRUTS2:零配置插件CodeBehind详解 #### 一、概述 Struts2框架作为Java Web开发中的一款重要工具,在简化Web应用程序开发方面提供了丰富的功能与灵活性。随着框架的发展,Struts2社区不断推出新的插件和技术...

    struts2231零配置

    总结起来,"Struts2231零配置"是Struts2框架的一个强大特性,通过减少XML配置,提高了开发效率。开发者只需关注业务逻辑的实现,而无需过于关心框架的底层配置。利用Struts2 Convention Plugin,结合合理的命名约定...

    struts2零配置入门代码

    总结起来,"struts2零配置入门代码"是关于如何利用注解在Struts2框架中快速构建一个无XML配置的Web应用,特别是针对小型或学习用途的系统,如“miniwms”仓库管理系统。这种方式简化了配置,提高了开发效率,使得...

    STRUTS2 Convention零配置

    ### STRUTS2 Convention零配置概述 Struts2框架自2.1版本开始引入了一种新的零配置方式——Convention插件。与之前的Codebehind插件不同,Convention插件更加彻底地摆脱了对配置文件的需求,包括struts.xml以及...

    零配置spring 整合cxf、struts2

    总结来说,"零配置spring 整合cxf、struts2"是一个旨在减少XML配置,通过注解驱动实现Spring、CXF和Struts2无缝集成的实践。通过这种方式,开发者可以专注于业务逻辑,提高开发效率,同时降低维护成本。在实际开发中...

    struts2注解详解

    从 Struts2.1 版本开始,官方不再推荐使用 Codebehind 作为零配置插件,而是转向了 Convention 插件来实现零配置的目标。相较于 Codebehind,Convention 插件更加彻底地简化了配置过程,不仅不需要使用 struts.xml ...

    Struts2+Spring3+Hibernate4零配置所需全部jar包

    总结来说,这个“Struts2+Spring3+Hibernate4零配置所需全部jar包”是一个为了简化Java Web开发过程而准备的工具包,包含了这三个框架的基本运行环境。通过使用这个工具包,开发者可以快速搭建起一个功能完备的Web...

    struts2.1.8+hibernate3.1(零配置)增删改查

    在这个"struts2.1.8+hibernate3.1(零配置)增删改查"的案例中,我们将深入探讨如何在不编写大量XML配置文件的情况下,通过Struts2的零配置特性与Hibernate的数据持久化能力进行集成,以实现对数据库的基本操作。...

    struts2树的编写

    4. **配置Struts2**:在`struts.xml`中配置Action,定义Action的result类型,通常是JSON或者Freemarker模板,以便于前端解析。 5. **前端展示**:使用JavaScript库(如jQuery UI的Treeview插件、JSTree等)在页面上...

    使用Struts2和jQuery EasyUI实现简单CRUD系统

    总结来说,使用Struts2和jQuery EasyUI实现CRUD系统的关键步骤包括: 1. 创建前端页面,使用EasyUI组件展示数据和操作。 2. 配置Struts2框架,定义Action类处理请求。 3. 实现业务逻辑,如数据库操作。 4. 在Action...

    struts各种配置

    Struts 2还支持注解配置,称为“零配置”方式。这种方式无需编写XML配置文件,所有的配置都通过注解完成。例如: - 使用`@Action`注解定义动作类。 - 使用`@ActionResult`注解定义视图结果。 - 使用`@Action`注解中...

    Struts采用convention-plugin实现零配置

    通过使用Convention-Plugin,Struts2框架实现了零配置的目标,极大地简化了Web应用的开发过程。开发人员可以将更多的精力集中在业务逻辑上,而不是繁琐的配置细节上。这对于提高开发效率、减少出错率具有重要意义。...

    spring4+struts2.3.16.3+hibernate4.3.6零配置

    在零配置情况下,我们可以使用Struts2的注解驱动,比如`@Action`和`@Result`,来定义Action行为和返回结果,而无需在struts.xml中进行配置。同时,Struts2与Spring的集成允许我们直接使用Spring管理的bean作为Action...

    struts2框架详细搭建教程

    本教程旨在帮助初学者从零开始搭建Struts2框架,并通过一个简单的示例来演示整个过程。以下内容将详细介绍如何创建项目、导入必要的JAR包、配置约束文件以及测试Struts2框架的基本功能。 #### 二、搭建环境 1. **...

    Struts2使用注解实现文件的上传与下载

    在处理文件上传和下载这类常见任务时,Struts2提供了一种简洁的方法,尤其是通过注解进行配置,可以实现“零XML”配置,使得开发过程更加高效。本文将深入探讨如何使用Struts2的注解来实现文件的上传与下载。 首先...

Global site tag (gtag.js) - Google Analytics