欢迎来到我的个人网站。交流请加我好友: 919201148。欢迎关注公众号或视频号:蜗牛互联网
Solo  当前访客:2 开始使用

白色蜗牛的互联网心得

我要一步一步往上爬,在最高点乘着叶片往前飞

标签: struts2 (16)

struts2中指定struts2处理的请求后缀

2016-04-05 01:49:58 huayonglun
0  评论    214  浏览

概述 默认情况下我们都是使用.action后缀访问Action。 其实默认后缀是可以通过常量”struts.action.extension“进行修改的。 我们可以配置Struts 2只处理以.do为后缀的请求路径 <struts> <constant name="struts.action.extension" value="do"/> </struts> 如果用户需要指定多个请求后缀,则多个后缀之间以英文逗号(,)隔开。如: <constant name="struts.action.extension" value="do,go"/> 一些常用的常量 <!-- 指定默认编码集,作用于HttpServletRequest的setCharacterEncoding方法 和freemarker 、velocity的输出 --> <constant name="struts.i18n.encoding" value="UTF-8"/> <!-- 该属性指定需要Struts 2处理的请求后缀,该属性的默....

, ,

struts2中访问或添加request等属性

2016-06-11 02:50:27 huayonglun
0  评论    213  浏览

访问或添加request/session/application属性 在struts2中获得request,session,application有3种方法 通过ServletActionContext类直接获取:此法比较常用 实现指定接口,有struts框架运行时注入:实现的接口是ServletRequestAware,ServletResponseAware,ServletContextAware,此方法不常用。 通过ActionContext类直接获取。此法较常用 方法一,通过ServletActionContext类直接获取: public class TestAction { public String rsa(){ HttpServletRequest request = ServletActionContext.getRequest(); ServletContext servletContext = ServletActionContext.getServletContext(); request.setAttribute("req", "请求范围属性"); ....

,

struts2中自定义拦截器

2016-06-14 02:50:27 huayonglun
0  评论    211  浏览

自定义拦截器 自定义拦截器需要实现com.opensymphony.xwork2.interceptor.Interceptor接口 PermissionInterceptor package com.liuyong666.interceptor; import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.ActionInvocation; import com.opensymphony.xwork2.interceptor.Interceptor; public class PermissionInterceptor implements Interceptor { public void destroy() { } public void init() { } public String intercept(ActionInvocation invocation) throws Exception { Object user = ActionContext.getContext().....

,

struts2中多文件上传

2016-06-13 02:50:27 huayonglun
0  评论    209  浏览

多文件上传 导包   在WEB-INF/lib下加入commons-fileupload-1.2.1.jar、commns-io-1.32.2.jar 表单设置 <form action="${pageContext.request.contextPath}/control/employee/list_execute.action" enctype="multipart/form-data" method="post"> 文件1:<input type="file" name="image"><br/> 文件2:<input type="file" name="image"><br/> 文件3:<input type="file" name="image"><br/> <input type="submit" value="上传"/> </form> Action类 public class HelloWorldAction { private File[] image; //....

,

struts2中自定义类型转换器之局部类型转换器

2016-05-28 02:50:27 huayonglun
0  评论    219  浏览

Struts2自定义类型转换器 应用中,常需要将字符串请求参数转换为相应的数据类型,或将一定的数据类型类型转换为字符串显示显示给用户,Struts2提供了类型转换机制。 Struts2的类型转换是基于OGNL表达式的,只要我们把HTML输入项(表单元素和其他GET/POET的参数)命名为合法的OGNL表达式,就可以充分利用Struts2的转换机制。 除此之外,Struts2提供了很好的扩展性,可以实现自己的类型转换器,完成字符串和自定义复合类型之间的转换。总之,Struts2的类型转换器提供了非常强大的表现层数据处理机制,可以利用Struts2的类型转换机制来完成任意的类型转换。 Struts2自定义类型转换器分为局部类型转换器和全局类型转换器。 局部类型转换器:对某个action起作用 全局类型转换器:对所有的action起作用 局部类型转换器 如果页面传来一个参数xxx.action?birthday=20160527到后台action,然后action属性用Date类型进行接收,用Date类型是获取不到,并且会出现错误的,struts2提供了一种类型转换器供我们使用。....

, ,

struts2中请求参数接收

2016-05-27 02:50:27 huayonglun
0  评论    218  浏览

采用基本类型接受请求参数(get/post) 在Action类中定义与请求参数同名的属性,struts2便能自动接收请求参数并赋予给同名的属性。 请求路径:http://localhost:8080/action/xxx.action?id=66 public class HelloWorldAction { private Integer id; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } } 采用复合类型接受请求参数 获取Bean属性的原理: Struts2首先通过反射技术调用Person的默认构造器创建person的实例,然后再通过反射技术调用person中与请求参数同名的属性的setter方法,来获取请求参数数值。 请求路径:http://localhost:8080/action/xxx.action?person.id=1&person.name=zhangsan 实体bean public class Person { p....

, ,

struts2中自定义类型转换器之全局类型转换器

2016-05-28 02:50:27 huayonglun
0  评论    211  浏览

全局类型转换器 如果业务需求所有的日期都要转换,则可以使用全局类型转换器,只要在src根目录下面放置xwork-conversion.properties文件,并且properties文件中的内容为: 待转换的类型=类型转换器的全类名 如:Java.util.Date = com.liuyong666.type.converter.DateTypeConverter。 总体目录结构: 局部类型转换器和全局类型转换器的说明 局部类型转换器是对指定action指定属性进行转换。不管该action的该属性是数组还是List集合,该转换器的转换方法对该属性只转换一次,假设某个action有一个List类型的属性users,那么局部类型转换器只调用一次convertValue方法,该方法吧users请求参数一次性地转换为一个List集合对象。 全局类型转换器会对所有action的特定类型进行转换。如果一个action的某个需要转换的属性是数组或集合,那么全局类型转换器将不是对该集合或数组整体进行转换,而是对该集合或数组的每一个属性进行转换。 欢迎关注微信公众号,技术,思维,心理,....

, ,

struts2中动态方法调用和使用通配符定义action

2016-04-07 00:31:11 huayonglun
0  评论    212  浏览

动态方法调用 如果Action中存在多个方法时,我们可以使用!+方法名调用指定方法。 public class HelloWorldAction{ private String message; .... public String execute() throws Exception{ this.message = "我的第一个struts2应用"; return "success"; } public String other() throws Exception{ this.message = "第二个方法"; return "success"; } } 假设访问上面action的URL路径为: /struts/test/helloworld.action要访问action的other() 方法,我们可以这样调用: /struts/test/helloworld!other.action 通常不建议使用动态方法调用,我们可以通过常量关闭动态方法调用。 <constant name="struts.enable.DynamicMethodInvocation" v....

, ,

struts2中为应用指定多个struts配置文件

2016-04-07 00:09:50 huayonglun
0  评论    210  浏览

概述 随着应用规模的增加,系统中Action的数量也会大量增加,导致struts.xml配置文件变得非常臃肿 为了避免struts.xml文件过于庞大、臃肿,提高Struts.xml文件的可读性,我们可以将一个struts.xml配置文件分解成多个配置文件 然后再struts.xml文件中包含其他配置文件 操作 通过<include>元素指定多个配置文件 <struts> <include file="department.xml"/> 一个模块使用一个配置文件 <include file="employee.xml"/> </struts> 通过这种方式,可以将struts2的Action按模块添加到多个配置文件中 欢迎关注微信公众号,技术,思维,心理,带给你认知的全方位成长。 你的关注,就是对我最大的肯定,我会努力产出的,我们一起成长~ 本文由 永伦的小屋 原创。 转载请注明作者及出处,本文作者为 永伦的小屋。

,

struts2中为Action属性注入值

2016-04-05 01:28:24 huayonglun
0  评论    211  浏览

概述 struts2为Action中的属性提供了依赖注入功能 在struts2的配置文件中,我们可以很方便地为Action中的属性注入值。注意:属性必须提供get,set方法。 配置 <action name="helloworld" class="com.liuyong666.action.HelloWorldAction"> <param name="savePath">/resource</param> <result name="success">/WEB-INF/page/hello.jsp</result> </action> 对应类中的变化 public class HelloWorldAction{ private String savePath; public String getSavePath() { return savePath; } public void setSavePath(String savePath) { this.savePath = savePath; } ........

, ,

struts2中文件上传

2016-06-12 02:50:27 huayonglun
0  评论    222  浏览

文件上传 步骤 在WEB-INF/lib下加入conmmons-fileupload-1.2.1.jar、commons-io.1.3.2.jar。如果使用的struts.jar文件时2.1以上的这一步可以省略。但是如果想使用FileUtils类,还需要添加commons-io.1.3.2.jar包 把form表的enctype设置为:“multipart/form-data",如下: <form action="${pageContext.request.contextPath}/hello/test/user_upload.action" enctype="multipart/form-data" method="post"> 文件:<input type="file" name="uploadImage"/> <input type="submit" value="上传"/> </form> “在Action类中添加如下属性:” public class FileUploadAction { private File upl....

,

struts2中Result配置的各种视图转发类型

2016-03-31 20:13:55 huayonglun
0  评论    213  浏览

概述 <action name="helloworld" class="com.liuyong666.action.HelloWorldAction"> <result name="success">/WEB-INF/page/hello.jsp</result> </action> result配置类似于struts1中的forward,但struts2中提供了多种结果类型,常用的类型有: dispatcher(默认值)、 redirect(重定向) 、 redirectAction 、 plainText 通过type属性值指定。 结果类型 redirect 在result中还可以使用${属性名}表达式访问action中的属性,表达式里的属性名对应action中的属性。如下: <result type="redirect">/view.jsp?id=${id}</result> redirectAction 如果重定向的action在同一个包下: <result type="redirec....

, , ,

struts2中Action名称的搜索顺序

2016-03-31 19:34:46 huayonglun
0  评论    212  浏览

搜索顺序 1.获得请求路径的URI,例如URL为:http://localhost:8080/struts2/path1/path2/path3/student.action 2.首先寻找namespace为/path1/path2/path3的package, 如果不存在这个包,则执行步骤3; 如果存在这个package,则在这个package中寻找名字为student的action, 当在该package下寻找不到action时就会直接跑到默认namespace的package中寻找action (默认的命名空间为空字符串""), 如果在默认namespace的package中还找不到该action,页面会提示找不action。 3.寻找namespace为/path1/path2的package, 如果不存在这个package,则执行步骤4; 如果存在执行步骤2中的代码块中内容。 4.寻找namespace为/path1的package, 如果不存在这个package,则执行步骤5; 如果存在执行步骤2中的代码块中内容。 5.寻找namespace为/的package, ....

, ,

struts2中struts2的处理流程和对Action的管理方式

2016-04-05 03:27:19 huayonglun
0  评论    216  浏览

处理流程图 web.xml配置文件的常用代码 <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> StrutsPrepareAndExecuteFilter Struts2核心控制器,它只负责拦截由/*指定的所有用户的请求 当用户请求到达时,系统会根据web.xml中配置Filter过滤用户的请求 默认情况下,如果用户的访问路径不带有后缀或者是以.action的后缀作为结尾,这时候请求会转发给....

, ,

struts2介绍

2016-03-30 04:17:12 huayonglun
0  评论    220  浏览

struts2优点 与Servlet API 耦合性低。无侵入式设计 提供了拦截器,利用拦截器可以进行AOP编程,实现如权限拦截等功能 支持多种表现层技术,如:JSP、freeMarker、velocity等 输入校验可以对指定方法进行校验,解决了struts1长久之痛 提供了全局范围、包范围和Action范围的国际化资源文件管理实现 搭建struts2开发环境 1. 导包 struts2-core-2.x.x.jar:核心类库 xwork-2.x.x.jar:XWork类库,struts2在其上构建 ognl-2.6.x.jar:对象图导航语言,struts2通过其读写对象属性 freemarker-2.3.x.jar:struts2的UI标签的模板使用FreeMarker编写 commons-logging-1.1.x.jar:ASF出品的日志包,struts2使用这个日志包来支持log4j和jdk1.4+的日志目录 commons-fileupload-1.2.1.jar:文件上传组件,2.1.6后必须加入此文件 2. 配置web.xml文件 <filter>....

,

struts2中Action配置的各项默认值

2016-03-31 19:57:01 huayonglun
0  评论    216  浏览

Action中的各项默认值 Action各项配置 <action name="helloworld" class="com.liuyong666.action.HelloWorldAction" method="execute" > <result name="success">/WEB-INF/page/hello.jsp</result> </action> Action默认配置 <action name="helloworld"> <result>/WEB-INF/page/hello.jsp</result> </action> 默认值 如果没有为action指定class,默认是ActionSupport。 如果没有为action指定method,默认执行action中的execute() 方法。 如果没有指定result的name属性,默认值为success。 欢迎关注微信公众号,技术,思维,心理,带给你认知的全方位成长。 你的关注,就是对我最大的肯定,我....

, ,
TOP