- 浏览: 890581 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (687)
- java (127)
- servlet (38)
- struts (16)
- spring (22)
- hibernate (40)
- javascript (58)
- jquery (18)
- tomcat (51)
- 设计模式 (6)
- EJB (13)
- jsp (3)
- oracle (29)
- RUP (2)
- ajax (3)
- java内存管理 (4)
- java线程 (12)
- socket (13)
- path (5)
- XML (10)
- swing (2)
- UML (1)
- JBPM (2)
- 开发笔记 (45)
- Note参考 (15)
- JAXB (4)
- Quartz (2)
- 乱码 (2)
- CSS (2)
- Exception (4)
- Tools (7)
- sqlserver (3)
- DWR (7)
- Struts2 (47)
- WebService (2)
- 问题解决收藏 (7)
- JBOSS (7)
- cache (10)
- easyUI (19)
- jQuery Plugin (11)
- FreeMarker (6)
- Eclipse (2)
- Compass (2)
- JPA (1)
- WebLogic (1)
- powerdesigner (1)
- mybatis (1)
最新评论
-
bugyun:
受教了,谢谢
java 正则表达式 过滤html标签 -
xiongxingxing_123:
学习了,感谢了
java 正则表达式 过滤html标签 -
wanmeinange:
那如果无状态的。对同一个任务并发控制怎么做?比如继承Quart ...
quartz中参数misfireThreshold的详解 -
fanjieshanghai:
...
XPath 元素及属性查找 -
tianhandigeng:
还是没明白
quartz中参数misfireThreshold的详解
以下内容参考网上的资料
间接实现零配置
struts.xml
- <action name="*/*" method="{2}" class="workbench.web.actions.{1}Action">
- <result name="custom">/view/{1}/${target}.jsp</result>
- </action>
<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 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"); }
- }
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>
<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";
- }
- }
http://qichunren.iteye.com/blog/193386
发表评论
-
ognl表达式
2011-07-07 00:36 1299OGNL是Object Graphic Navigation ... -
在Struts 2_0中实现表单数据校验
2011-07-07 00:02 1144转换与校验(Conversion & Validati ... -
简单的struts2输入校验框架
2011-05-13 23:43 10881.输入页面login.jsp: <%@ page ... -
struts2在学习(十二)--表单验证的两种方式
2011-05-13 23:13 960第四个示例:注解方式校验器---用户注册页面user2_reg ... -
struts2在学习(十一)--表单验证的两种方式
2011-05-13 23:09 906第二个示例:XML配置式校验器---登录和注册页面user_l ... -
struts2在学习(十)--表单验证的两种方式
2011-05-13 22:56 11651. Struts2中的输入校验2. 编码方式校验 1) A ... -
struts2采用convention-plugin实现零配置
2011-05-13 21:58 1120最近开始关注struts2的新特性,从这个版本开始,Strut ... -
基于SSH2框架Struts2拦截器的登录验证实现
2011-04-01 22:00 2291通过之前的Struts2.1.6+Spring2.5.6+H ... -
通过ActionContext类访问Servlet对象
2011-04-01 21:40 1920ActionContext类位于com.opensympho ... -
webwork 之销毁session
2011-04-01 17:35 1767销毁的意思?不是清空 ... -
Struts2 Convention Plugin(三)
2011-03-18 01:26 1200Annotation 参考Convention使用某些注解语句 ... -
Struts2 Convention Plugin(二)
2011-03-18 01:25 1149Results and result codesStruts ... -
Struts2 Convention Plugin(一)
2011-03-18 01:25 1102Introduction从struts2.1版本开始,Conv ... -
struts2页面中的标签调用类的方法
2011-03-15 16:33 1619<s:set name="str" ... -
Apache Struts 2.2.1 GA版发布
2011-03-14 17:14 1337昨日,Apache软件基金会发布了Struts 2.2.1 G ... -
spring2 +hibernate 3 + struts 配置
2011-03-14 15:15 12131. web.xml 1. <?xml versi ... -
Struts2 中action之间的跳转
2011-03-14 12:32 1254转载于http://zhou568xiao.iteye.com ... -
Struts2 的Result Type
2011-03-13 16:35 1048http://www.blogjava.net/duanzhi ... -
struts2 跳转类型 result type=chain、dispatcher、redirect(redirect-action)
2011-03-13 16:32 1623dispatcher 为默认跳转类型,用于返回一个视图资源(如 ... -
struts2防止重复提交
2011-03-10 23:07 1295struts2的防止重复提交 也使用到了 token (令牌机 ...
相关推荐
### Struts2零配置知识点详解 #### 一、引言:约定优于配置 在软件开发领域,特别是Java EE框架的应用中,“配置”一直占据着重要地位。然而,随着时间的推移,人们逐渐意识到过于依赖配置文件可能会带来诸多不便...
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的注解来实现文件的上传与下载。 首先...