以下内容参考网上的资料
间接实现零配置
struts.xml
<action name="*/*" method="{2}" class="workbench.web.actions.{1}Action">
<result name="custom">/view/{1}/${target}.jsp</result>
</action>
编写一个基础的Action
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;}
}
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:
<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类上加上一段注解就可以了:
@Results({
@Result(name="success", type=NullResult.class, value = "/success.html", params = {}),
@Result(name="error", type=NullResult.class, value = "/error.html", params = {})
})
public class ListPeopleAction {
public String execute() {
return "success";
}
}
CoC
分享到:
相关推荐
LightURL插件是Struts2社区提供的一种实现零配置的方法,它吸收了其他优秀插件的优点,比如CodeBehind和SmartUrls,旨在创建更简洁、更易维护的URL映射。以下是LightURL插件的使用步骤: 1. **添加依赖**:将`...
### STRUTS2:零配置插件CodeBehind详解 #### 一、概述 Struts2框架作为Java Web开发中的一款重要工具,在简化Web应用程序开发方面提供了丰富的功能与灵活性。随着框架的发展,Struts2社区不断推出新的插件和技术...
总结起来,"Struts2231零配置"是Struts2框架的一个强大特性,通过减少XML配置,提高了开发效率。开发者只需关注业务逻辑的实现,而无需过于关心框架的底层配置。利用Struts2 Convention Plugin,结合合理的命名约定...
总结起来,"struts2零配置入门代码"是关于如何利用注解在Struts2框架中快速构建一个无XML配置的Web应用,特别是针对小型或学习用途的系统,如“miniwms”仓库管理系统。这种方式简化了配置,提高了开发效率,使得...
### STRUTS2 Convention零配置概述 Struts2框架自2.1版本开始引入了一种新的零配置方式——Convention插件。与之前的Codebehind插件不同,Convention插件更加彻底地摆脱了对配置文件的需求,包括struts.xml以及...
总结来说,"零配置spring 整合cxf、struts2"是一个旨在减少XML配置,通过注解驱动实现Spring、CXF和Struts2无缝集成的实践。通过这种方式,开发者可以专注于业务逻辑,提高开发效率,同时降低维护成本。在实际开发中...
从 Struts2.1 版本开始,官方不再推荐使用 Codebehind 作为零配置插件,而是转向了 Convention 插件来实现零配置的目标。相较于 Codebehind,Convention 插件更加彻底地简化了配置过程,不仅不需要使用 struts.xml ...
总结来说,这个“Struts2+Spring3+Hibernate4零配置所需全部jar包”是一个为了简化Java Web开发过程而准备的工具包,包含了这三个框架的基本运行环境。通过使用这个工具包,开发者可以快速搭建起一个功能完备的Web...
在这个"struts2.1.8+hibernate3.1(零配置)增删改查"的案例中,我们将深入探讨如何在不编写大量XML配置文件的情况下,通过Struts2的零配置特性与Hibernate的数据持久化能力进行集成,以实现对数据库的基本操作。...
4. **配置Struts2**:在`struts.xml`中配置Action,定义Action的result类型,通常是JSON或者Freemarker模板,以便于前端解析。 5. **前端展示**:使用JavaScript库(如jQuery UI的Treeview插件、JSTree等)在页面上...
总结来说,使用Struts2和jQuery EasyUI实现CRUD系统的关键步骤包括: 1. 创建前端页面,使用EasyUI组件展示数据和操作。 2. 配置Struts2框架,定义Action类处理请求。 3. 实现业务逻辑,如数据库操作。 4. 在Action...
Struts 2还支持注解配置,称为“零配置”方式。这种方式无需编写XML配置文件,所有的配置都通过注解完成。例如: - 使用`@Action`注解定义动作类。 - 使用`@ActionResult`注解定义视图结果。 - 使用`@Action`注解中...
通过使用Convention-Plugin,Struts2框架实现了零配置的目标,极大地简化了Web应用的开发过程。开发人员可以将更多的精力集中在业务逻辑上,而不是繁琐的配置细节上。这对于提高开发效率、减少出错率具有重要意义。...
在零配置情况下,我们可以使用Struts2的注解驱动,比如`@Action`和`@Result`,来定义Action行为和返回结果,而无需在struts.xml中进行配置。同时,Struts2与Spring的集成允许我们直接使用Spring管理的bean作为Action...
本教程旨在帮助初学者从零开始搭建Struts2框架,并通过一个简单的示例来演示整个过程。以下内容将详细介绍如何创建项目、导入必要的JAR包、配置约束文件以及测试Struts2框架的基本功能。 #### 二、搭建环境 1. **...
在处理文件上传和下载这类常见任务时,Struts2提供了一种简洁的方法,尤其是通过注解进行配置,可以实现“零XML”配置,使得开发过程更加高效。本文将深入探讨如何使用Struts2的注解来实现文件的上传与下载。 首先...