
Struts2
Glemontree_
热爱技术,热爱开源
展开
-
[Struts2] ModelDriven和Preparable拦截器
Struts2运行流程ActionProxy是Action的一个代理类,也就是说Action的调用时通过ActionProxy实现的,其实就是调用了ActionProxy.execute()方法,而该方法又调用了ActionInvocation.invoke()方法ActonInvocation就是Action的调用者,ActonInvocation在Action的执行过程中,负责Interce原创 2017-09-06 12:59:04 · 341 阅读 · 0 评论 -
[Struts2] 文件上传和下载
表单准备要想使用HTML表单上传一个或多个文件:需把HTML表单的enctype属性设置为multipart/form-data需把HTML表单的method属性设置为post需添加<input type="file">字段Struts对文件上传的支持在Struts应用程序里,FileUpload拦截器和Commons FileUpload组件可以完成文件的上传。步骤:在jsp页面的文件上原创 2017-09-07 20:33:10 · 322 阅读 · 0 评论 -
[Struts2] 日期类型转换
我们在进行web开发时经常会用到Date类型的数据,比如有一个员工类,其含有一个Date类型的birthday和joinDate,当我们在页面上通过<input>标签输入日期时,由于输入的类型是String类型,而员工类的成员变量是Date类型,那么就会抛出异常java.text.ParseException: Unparseable date: "2014-06-10",此时需要定义了日期类型转换原创 2017-09-07 20:32:23 · 246 阅读 · 0 评论 -
[Struts2] 配置Struts可以受理的请求的扩展名
在工程目录的Web App Libraries目录下的struts2-core-2.3.15.jar下的org.apache.struts2下的default.properties文件下定义了Struts可以受理的请求的扩展名:struts.action.extension=action,,,表示Struts可以受理扩展名为.action和没有扩展名的请求若想更改Struts可以受理的请求的扩展名原创 2017-09-07 20:31:57 · 293 阅读 · 0 评论 -
[Struts2] 拦截器和过滤器
本文转载自博客过滤器和拦截器的区别。原创 2017-09-07 20:31:38 · 221 阅读 · 0 评论 -
[Struts2] 国际化
概述在程序设计领域,把在无需改写源代码即可让开发出来的程序能够支持多种语言和数据格式的技术称为国际化。与国际化对应的是本地化,指让一个具备国际化支持的应用程序支持某个特定的地区。Struts2国际化是建立在Java国际化基础上的:为不同国家/地区提供对应的消息资源文件Struts2框架会根据请求中包含的Locale加载对应的资源文件通过程序代码取得资源文件中指定key对应的消息国际化目标配原创 2017-09-07 20:31:11 · 270 阅读 · 0 评论 -
[Struts2] URL、URI以及ServletPath之间的区别
一直没弄明白URL、URI以及ServletPath之间的区别,今天看到了一篇博客,所以转载过来记录一下。假设现在有一个名为JavaWeb的项目,其中有一个名为TestServlet的serlvet,其doGet方法为:protected void doGet(HttpServletRequest request, HttpServletResponse response) throws Servl原创 2017-09-07 20:30:17 · 404 阅读 · 0 评论 -
[Struts2] Struts中OGNL
Struts中OGNL一、OGNL概念OGNL(Object Graph Navigation Language),即对象图导航语言,是一种功能强大的表达式语言,可以任意存取对象的属性或者调用对象的方法。OGNL表达式的计算是围绕OGNL上下文进行的,OGNL上下文实际上是一个Map对象,由ognl.Context类来表示,它里面可以存放很多个JavaBean对象,它有一个上下文根对象,上下文中的根原创 2017-09-07 20:29:56 · 277 阅读 · 0 评论 -
[Struts2] Action类
action与Action类action代表一个Struts2请求Action类能够处理Struts2请求的类就是Action类,Action类具有以下特点:属性的名字必须遵守与JavaBean属性名相同的命名规则,属性的类型可以是任意类型,属性名字(get set方法对应的属性名字)应当与表单发请求时对应的参数名字相对应必须有一个不带参的构造函数(反射)至少有一个供struts在执行这个a原创 2017-09-07 20:29:01 · 309 阅读 · 0 评论 -
[Struts2] Struts2接受参数的几种类型和接受复杂类型参数
【转载】Struts2接受参数的几种类型和接受复杂类型参数转载 2017-09-07 20:27:53 · 263 阅读 · 0 评论 -
[Struts2] pageContext.request.contextPath
为了解决不同部署方式的差别,在所有非struts标签的路径前面加${pageContext.request.contextPath},如原路径为”/images/title.gif“,改为”${pageContext.request.contextPath}/images/title.gif“,代码${pageContext.request.contextPath}的作用是取出部署的应用程序名,这样原创 2017-09-06 13:00:50 · 498 阅读 · 0 评论 -
[Struts2] page、request、session、application的区别
pagepage指当前页面,在一个jsp页面中有效requestrequest值从http请求到服务器处理结束,返回响应的整个过程,在这个过程中使用forward方式跳转多个jsp,在这些页面里都可以使用这个变量session当前会话中有效,从浏览器打开到浏览器关闭这个过程,每个用户都有唯一的一个application它的有效范围是整个应用,作用域里的变量它们的存活时间是最长的,如果不进行手工原创 2017-09-06 13:00:28 · 234 阅读 · 0 评论 -
[Struts2] OGNL s:iterator标签的使用
简介iterator标签用来遍历一个数组、Collection或一个Map,并把这个可遍历对象的每一个元素一次压入和弹出。例子为了搞清楚OGNL中s:iteraor标签的使用方法,这里举了一个例子:User.javapackage com.glemontree.struts;public class User {private String userName;private String pa原创 2017-09-06 13:00:05 · 624 阅读 · 0 评论 -
[Struts2] 值栈
ValueStack(值栈)贯穿整个Action的生命周期,每个Action类的对象实例都拥有一个ValueStack对象,相当于一个数据的中转站,在其中保存当前Action对象和其他相关对象Struts框架把ValueStack对象保存在名为”struts.valueStack”的请求属性中在ValueStack对象的内部有两个逻辑部分:context:ContextMap(Map栈实际上是O原创 2017-09-07 20:33:32 · 231 阅读 · 0 评论