struts2
摘要: 第4章 servlet开发基础、第8章 java web国际化、第10章 简单标签
摘要: 在jsp标签文件中使用struts 2标签会带来一个问题。由于高版本的struts 2的标签属性值默认情况下不能为el或jsp表达式,当然,可以通过修改struts 2默认设置来解决这个问题,但并不建议这么做。除此之外,可以通过标签将参数值保存在valuestack对象中,在jsp标签文件中通过ognl表达式读取。
摘要: 众所周知,strut 2的action类通过属性可以获得所有相关的值,如请求参数、action配置参数、向其他action传递属性值(通过chain结果)等等。要获得这些参数值,我们要做的唯一一件事就是在action类中声明与参数同名的属性,在struts 2调用action类的action方法(默认是execute方法)之前,就会为相应的action属性赋值。这一切主要是依靠valuestack对象实现的。
摘要: 经笔者测试,struts2.1.6并不与struts2.0.14完全兼容,如在struts2.1.6中还需要一个commons-fileupload-1.2.1.jar文件才能正常使用,而在struts2.0.14中并不需要这个文件。struts2.1.6至少需要6个jar文件才能正常工作,这6个jar文件是:struts2-core-2.1.6.jar、freemarker-2.3.13.jar、commons-logging-1.0.4.jar、ognl-2.6.11.jar、xwork-2.1.2.jar、commons-fileupload-1.2.1.jar。
摘要: 国际化的作用就是根据不同国家的用户在访问web或其他类型的程序时,将各种信息以本地的常用形式显示出来,如界面信息在中国,就会显示中文信息,在以英文为主的国家里,就会显示英文信息。还有就是一些信息的格式,如日期格式等。
摘要: 在上一篇中介绍了struts2拦截器的原理,在这一篇中我们将学习一下如何编写自己的拦截器。实现一个拦截器非常简单。实际上,一个拦截器就是一个普通的类,只是这个类必须实现com.opensymphony.xwork2.interceptor.interceptor接口。
摘要: struts2的拦截器和servlet过滤器类似。在执行action的execute方法之前,struts2会首先执行在struts.xml中引用的拦截器,在执行完所有引用的拦截器的intercept方法后,会执行action的execute方法。
摘要: 上传文件是很多web程序都具有的功能。在struts1.x中已经提供了用于上传文件的组件。而在struts2中提供了一个更为容易操作的上传文件组件。所不同的是,struts1.x的上传组件需要一个actionform来传递文件,而struts2的上传组件是一个拦截器(这个拦截器不用配置,是自动装载的)。在本文中先介绍一下如何用struts2上传单个文件,最后介绍一下用struts2上传任意多个文件。
摘要: 在struts1.x action类的execute方法中,有四个参数,其中两个就是response和request。而在struts2中,并没有任何参数,因此,就不能简单地从execute方法获得httpservletresponse或httpservletrequest对象了。但在struts2 action类中仍然有很多方法可以获得这些对象。本文给出了四种获得这些对象的方法。
摘要: 本文介绍了如何使用struts2的validation验证框架进行服务端、客户端验证,以及如何进行嵌套属性的验证。在struts2中的validation框架和struts1.x提供的validation框架类似,也是通过xml文件进行配置。
摘要: 在struts2中最简单的验证数据的方法是使用validate。我们从actionsupport类的源代码中可以看到,actionsupport类实现了一个validateable接口。这个接口只有一个validate方法。如果action类实现了这个接口,struts2在调用execute方法之前首先会调用这个方法,我们可以在validate方法中验证,如果发生错误,可以根据错误的level选择字段级错误,还是动作级错误。并且可使用addfielderror或addactionerror加入相应的错误信息,如果存在action或field错误,struts2会返回“input”(这个并不用开发人员写,由struts2自动返回),如果返回了“input”,struts2就不会再调用execute方法了。如果不存在错误信息,struts2在最后会调用execute方法。
摘要: 在struts2中提供了一个默认的struts.xml文件,但如果package、action、interceptors等配置比较多时,都放到一个struts.xml文件不太容易维护。因此,就需要将struts.xml文件分成多个配置文件,然后在struts.xml文件中使用
标签引用这些配置文件。 阅读全文
摘要: 在struts2中提供了一种方法,使得无需要配置可以在同一个action类中执行不同的方法(默认执行的是execute方法)。使用这种方式也需要通过请求参来来指定要执行的动作。请求参数名的格式为action!method.action
阅读全文
摘要: struts2虽然在大版本号上是第二个版本,但基本上在配置和使用上已经完全颠覆了struts1.x的方式(当然,struts2仍然是基于mvc模式的,也是动作驱动的,可能这是唯一没变的东西)。struts2实际上是在webwork基础上构建起来的mvc框架。我们从struts2的源代码中可以看到,有很多都是直接使用的xwork(webwork的核心技术)的包。既然从技术上来说struts2是全新的框架,那么就让我们来学习一下这个新的框架的使用方法。
阅读全文