Struts2
alcaplz2
这个作者很懒,什么都没留下…
展开
-
Struts2相对struts1优异之处
(1)在软件设计上,struts2没有像struts1那样跟servletAPI和struts1有着紧密的耦合关系,Struts2的应用可以不依赖于servletAPI和struts1API,struts2是无侵入设计思想(2)Struts2提供了拦截器,利用拦截器可以进行AOP编程,实现如权限拦截的功能 (3)Struts2提供了类转换器,我们可以把特殊请求参数转换成需要的类型,在s...原创 2011-02-20 14:39:31 · 80 阅读 · 0 评论 -
web.xml启动struts2配置两点注意
注意1:StrutsPrepareAndExecuteFilter中的init()方法会在服务器启动的时候读取类路径下默认的配置文件struts.xml完成初始化操作注意2:struts2读取到struts.xml里面的内容后,以javabean的形式存放到内存中去,以后struts2对用户的每次请求处理将使用内存中的数据,而不是每次都去读取struts.xml...原创 2011-02-20 14:45:12 · 104 阅读 · 0 评论 -
Struts2常用常量
指定默认编码集<constant name=”struts.i18n.encoding” value=”UTF-8”/>struts2默认的后缀访问是.action,修改访问后缀名<constant name=”struts.action.extension” value=”do”/>设置浏览器是否缓存静态内容,默认是true(生产环境下使用),开发阶段最好...原创 2011-02-20 14:50:08 · 74 阅读 · 0 评论 -
Struts2动态方法调用
只需要在action名称后面加上感叹号再加上方法名就可以了,但是自从struts2.1后,官方已经不推荐使用这种途径进行动态方法调用了如:login!test.action建议用常量对其进行禁止使用<constant name=”struts.enable.DynamicMethodInvocation” value=”false”>官方推荐使用通配符定义action来...原创 2011-02-20 14:55:09 · 78 阅读 · 0 评论 -
Struts2.1.6版本中文bug问题解决
原因是struts2.1.6这版本在获取并使用了请求参数后才调用HttpServletRequest的setCharacter方法进行编码设置,导致应用使用的就是乱码请求参数,这个bug在2.1.8已经解决解决方法:新建一个filter,把这个filter放置在struts2的filter之前,然后在doFilter()方法里面添加下面代码:[code="java"]Public ...原创 2011-02-20 14:58:03 · 100 阅读 · 0 评论 -
Struts2自定义类型转换器
(1)局部类型转换器如果页面传来一个参数reg.action?birthday=2010-11-12到后台action,然后属性用date类型是可以接收到的,但是如果传的是20101112这样类型的字符串,用date类型是获取不到,并且会出现错误的,struts2提供了一种类型转换器供我们使用代码详细参考:typeConvertera.首先要写一个类来继承DefaultTypeConv...原创 2011-02-20 15:11:11 · 68 阅读 · 0 评论 -
Struts2自定义拦截器
(1)首先要该拦截器要实现interceptor接口(2)然后实现intercept这个方法,在该方法里面处理业务逻辑进行拦截业务(3)invocation.invoke();这个方法是调用action里面的指定方法(4)然后在struts.xml里面注册拦截器[code="java"] //因为如果自定义了拦截器,那么struts2就不用调用默认拦截器了,所以一...原创 2011-02-20 15:16:04 · 81 阅读 · 0 评论 -
Struts2输入校验
(1)通过继承ActionSupport然后重写validate()方法,对action里面的所有方法进行验证,在验证不通过的时候会转发到input指向的视图,在validate方法里面可以通过this.addFieldError这个方法向页面发送错误信息,然后在页面通过用struts2的标签来获取错误信息提示(2)如果要使用validate()来对指定方法进行校验,则可以通过valida...原创 2011-02-20 15:19:31 · 77 阅读 · 0 评论