Struts2
007Lord
这个作者很懒,什么都没留下…
展开
-
(三)编写ECHO程序
项目建立完成之后会自动在src目录之中建立一个struts.xml文件,这个文件就是Struts2.x的核心配置文件,同时也会在Web.xml文件里面增加如下配置: <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts...原创 2018-06-03 16:43:32 · 1277 阅读 · 0 评论 -
(十八)数据验证方法重写
虽然这个时候已经成功的进行了错误跳转,但是跳转之后可能依然没有人知道出现了那些错误,那就必须想办法在页面中显示这些错误 首先必须明确的再次提示,在ActionSupport来里面提供的取得全部错误信息的方法 取得错误信息:public Map<String,List<String>> getFieldErrors() 所有的错误信...原创 2018-06-05 10:43:31 · 261 阅读 · 0 评论 -
(二十五)struts2.x中的转换器
1.转换器的主要使用以及作用;2.实现自定义的转换器;3.系统自带转换器;具体内容 在使用Struts2.x接收参数的时候,可以发现,如果传递的是数字,可以自动的将参数的字符串内容变为数字,那么包括文件上传的时候,能接收的数据类型为File,那么这些实际上都是由转换器帮助我们用户自动完成的转换. 例如,如果要想实现字符串到"Locale"的转换,那么默认没有实现,必须自...原创 2018-06-12 10:40:27 · 187 阅读 · 0 评论 -
(二十六)JFreeChart与Struts2.x
在很多的系统之中,数据的统计结果报表是经常会出现的功能,但是在现在的开发之中们大部分都会基于HTML5的Canvas绘图功能完成,如果是直接绘图,那么基本上都很麻烦,所以可以使用大量的第三方开发包,在很久以前就存在有一个Java可用的统计图的工具--JFreeChart,是一个免费的绘图工具使用JFreeChart绘制一个图形 下面就使用此组件绘制一个最简单的图形显示...原创 2018-06-12 11:55:58 · 131 阅读 · 0 评论 -
(二十)验证增强
实际上在验证框架里面还可以做很多事情,例如:验证数字的范围是否正确,长度是否合适,以及发布日期是否满足,正则操作是否可用等等.范例:编写NewsAction-validation.xml文件,完善验证<validators> <field name="news.nid"> <field-validator type="int"> &...原创 2018-06-05 15:32:13 · 223 阅读 · 0 评论 -
(二十七)在Struts2.x里面实现Annotation配置
在2005年之前,所有的开发框架几乎都由一个特点,除了框架本身的代码需要编写之外,还需要编写大量的XML文件,并且利用这些文件决定项目的执行,想法很好,但是在实际的使用中会发现并不怎么好,一旦项目开发很大,那么对于整个项目的控制文件就非常难以维护了.从2005年之后(正是在这一年Apache收购;1WebWork),所以现在跨度比较大的框架都开始进行一些结构的修改,Sturts2....原创 2018-06-12 16:40:08 · 175 阅读 · 0 评论 -
(二十一)Strtus2.x拦截器
拦截器是现在开发之中最为重要的特色,是基于AOP的设计思想(AOP是基于代理设计模式思想),面向切面设计思想实现的.1.清楚拦截器的基本作用;2.开发自己的拦截器3.实现登录检查拦截器4.实现服务器端数据验证拦截器(工具类);5.拦截器栈的定义及使用 在Strut2.x里面为了方便用户进行数据的验证,专门提供有validate()方法以及验证框架,但是这两个验证操作都...原创 2018-06-06 10:50:02 · 160 阅读 · 0 评论 -
(二十二)拦截器栈
正如在之前所编写代码一样,可以发现,在一个项目里面至少需要以下几种拦截器:验证拦截,登录拦截,defaultStack拦截,可是如果每一次都这样分别去写;<interceptor-ref name="timer"/> <interceptor-ref name="mldn"/> <interceptor-ref name="login"&g..原创 2018-06-07 14:30:10 · 291 阅读 · 1 评论 -
(二十三)指令牌验证
Token的实现原理以及Struts2.x中对Token的支持.具体内容 在现实的开发之中会出现这样一种情况,当用户填写了一个表单,而后将此表单提交之后,用户直接选择后退操作回到了原本的表单上.那么为了解决这样的问题,最早的时候是使用session进行处理 但是到了Struts2.x的时候实际上针对于Token的验证操作就变得更加容易了,因为有拦...原创 2018-06-07 15:55:58 · 312 阅读 · 0 评论 -
(一)Struts2.x简介
前提是:Struts1.x和Struts2.x没有任何的关系,属于两个独立的版本,那么为什么会出现两个独立的版本原因还是在于Struts1.x的设计结构上.在成名的MVC开发框架里面,Struts最早出现的,但是由于最初的设计环境没有考虑到这么复杂,所以来讲到了今天与其他框架整合会出现非常麻烦的问题,而且也存在有性能问题,同时自己本身的设计结构也出现了混乱,例如:如果想要使用验证框...原创 2018-06-01 18:27:53 · 455 阅读 · 2 评论 -
(二)开发第一个Struts2.x程序(搭建环境)
如果要信开发Struts2.x的话最早的时候是没有开发工具,从MyEclipse2012开始就开始支持了Struts2.x开发,可以直接利用此工具进行Struts2.x开发包的配置1. 建立一个新的项目--MyStruts2Project; 建立的时候一定要建立web.xml文件,因为几乎所有的MVC开发框架都必须有Servlet的支持或者是Filter支持,而...原创 2018-06-01 19:07:28 · 161 阅读 · 0 评论 -
(十七)Struts 2.x与Ajax
如果现在要想使用Struts2.x的Action利用异步处理实现数据输出,那么必然这个输出的输出分方法里面是不应该有返回路径的,不会跳转. 如果要处理Ajax建议使用jQuery,将jQuery的开发包配置到项目之中;范例:建立一个新的Action--CrityAction.javapackage cn.zwb.action;import java.io.IOExc...原创 2018-06-05 08:41:24 · 114 阅读 · 0 评论 -
(十五)Struts2.x多业务处理
所有的开发之中,每一个Action都要同时处理多个操请求,所以来讲在Struts2.x里面依然处理多业务的操作.那么下面为了更好的观察出问题,重新建立新的Action以及vo类.范例:定义一个新闻的VO类package cn.zwb.vo;public class News { private Integer nid; private String title; priv...原创 2018-06-04 17:38:38 · 238 阅读 · 0 评论 -
(十四)UI标签
在Struts2.x里面本意是希望方便用户开发,所以在许多的标签上都使用了操作模板,但是在实际的布局中这些模板如果出现,则会破坏布局从要求范例:观察表单问题<s:form action="FormAction.action" method="post"> <s:textfield key="name" label="姓名"/> <s原创 2018-06-04 16:19:33 · 1036 阅读 · 0 评论 -
(四)跳转类型
之前已经完成了一个最为基础的Struts2.x程序,从整个结构来讲比清晰,比较简单,除了页面的代码比较陌生之外跳转类型配置 在Struts2.x里面如果要进行跳转的话,那么实际上在Action之中只要返回一个字符串,那么此字符串要与配置的路径进行吻合后鸡可以跳转. @Override public String execute() throws Exception ...原创 2018-06-03 17:28:26 · 542 阅读 · 0 评论 -
(五)过滤器配置
在整个Struts2.x里面,所有的请求处理都是由过滤器完成的,这一点和之前的Struts1.x是完全不同的,但是现在的过滤器有一个问题,发现所有的页面必须经过Action而后跳转到JSP页面后,jsp页面才可以正常显示,因为只要你使用了Struts2.x标签,那么JSP页面就一定要与某一个Action关联在一起. 但是是不是必须要进行关联呢?并不是.如果要想解决关联...原创 2018-06-03 18:57:07 · 191 阅读 · 0 评论 -
(六)跳转配置
在Sturts2.x里面所有的跳转都是由Action进行的,而且只要想进行跳转,只需要在相应的方法里面返回指定的字符串即可,而这些字符串都会在Struts.xml文件里面出现相应的"<result>"节点范例:观察已有代码 @Override public String execute() throws Exception {//执行操作 this.msg="EC...原创 2018-06-04 08:34:35 · 190 阅读 · 0 评论 -
(七)取得jsp内置对象
在Struts2.x为了方便的解决这些内置对象的操作,专门提供有一个ServletActionContext的类,这个类里面可以方便的取出常用内置对象:org.apache.struts2.ServletActionContext的类 取得pageContext:public static javax.servlet.jsp.PageContext getPageCo...原创 2018-06-04 09:23:48 · 584 阅读 · 0 评论 -
(八)多人开发
在所有的项目开发之中,一定是多人团队集中开发,但是现在如果使用框架开发会出现一个问题,所有的Action以及相关的路径都要求在struts.xml文件里面配置,如果所有人偶去修改一个文件,那么会很混乱,有可能会一直出现冲突,那么在Struts2.x里面为了解决这样的问题,可以由用户定义对个配置文件 ,并且在一个struts.xml文件里面合并 首先在项目里面可以复制s...原创 2018-06-04 09:39:53 · 202 阅读 · 0 评论 -
(九)乱码解决
如果现在的项目之中的编码都统一使用的是UTF-8编码,那么根本就么有必要解决乱码,如果它采用的是其他的编码形式,例如:整个项目都使用的是"GBK",那么就必须解决乱码. 如果要想进行乱码的解决实际上是进行的是Struts.2.x的属性配置,既然是属性配置,那么就要在src目录下建立一个struts.properties的文件.范例:建立struts.propertie...原创 2018-06-04 10:21:28 · 169 阅读 · 0 评论 -
(十)配置资源文件
从任何的项目来讲,都一定会存在有*.properties,这个文件的结构使用了"key=value"的形式,同时在这种文件上还可以轻松的实现国际化操作的需要,所以只要是项目,都建议至少定义一个Messages.properties的文件,保存所有的提示信息.范例:在src下定义Messages.properties文件(资源文件的命名同类名称名称命名标准一致)info.msg=这是...原创 2018-06-04 11:19:21 · 392 阅读 · 0 评论 -
(十一)结合vo的输入
从2005年开始,vo的开发模式已经深入人心,所有的开发框架必定支持vo的转换,并且在struts2.x里面也支持了vo转换,别切可以多级设置范例:定义两个VOpackage cn.zwb.vo;import java.io.Serializable;@SuppressWarnings("serial")public class Dept implements Seriali...原创 2018-06-04 12:11:43 · 203 阅读 · 0 评论 -
(十二)标签与属性范围
在Struts2.x里面,每一个JSP页面一定要与Action紧密连接在一起,尤其是在Action进行了服务器端跳转之后,也同样的可以直接利用标签访问这个类中的私有属性范例:定义一个新的Action 此时直接在Action里面设置了一个mydept的VO类对象,随后定义了对象的内容,并且让其跳转到了一个指定的页面,但是这个页面使用标签输出内容.package cn.zw...原创 2018-06-04 14:15:26 · 297 阅读 · 0 评论 -
(十三)非UI标签
本部分的标签指的是与表单无关(表单在HTML里面就称为UI),下面看几个有意思的标签1.格式化日期显示 如果想要格式化日期的显示则使用"<s:date>"标签完成<h1><s:date name="emp.hiredate" format="yyyy-MM-dd HH:mm:ss"/></h1>原创 2018-06-04 15:12:37 · 207 阅读 · 0 评论 -
(二十四)Struts2.x文件上传操作
如果你的项目代码使用的是标准MVC开发的,那么强烈建议使用SmartUpload完成,但是如果你的项目代码使用的是框架开发,例如Struts1.x,Struts2.x,SpringMVC,那么就只能够使用FileUpload,因为这些框架针对于FileUpload的处理是比较方便的.基础上传 如果现在使用的是Struts1.x,那么要接收上传文件的时候使用的是一个Fo...原创 2018-06-11 09:41:33 · 226 阅读 · 0 评论
分享