随笔分类 - 框架原理 / struts2
主要介绍struts2框架
摘要:1 拦截器 1.1 拦截器是什么 拦截器(Interceptor)是Struts2最强大的特性之一,它是一种可以让你在Action执行之前和Result执行之后进行一些功能处理的机制。来回顾一下官方给出的Struts2系统架构图中关于拦截器的部分,如下图所示: 这个图清晰的描述出了拦截器的运行地位,
阅读全文
摘要:1 strtus2核心概念 1.1 FilterDispatcher FilterDispatcher是Struts2的前端控制器,也是Struts2的MVC中的控制器部分。在实际开发中,只需要在web.xml中配置一次即可,如下所示: <filter> <filter-name>Struts2</
阅读全文
摘要:1 Token防重 使用token防止重复提交 1.1 token内部原理 防止重复提交的方式常见的有两种:使用重定向和使用token令牌完成 在struts2框架中使用令牌基本上就是两步: 在jsp页面中使用<s:token></s:token>标签,可以放在表单中任何位置,这个标签的作用就是在页
阅读全文
摘要:1 action生命周期 Struts2的Action的生命周期是:Struts2为每个请求都重新初始化一个Action的实例。可以稍微改造一下代码来验证一下。 给HelloWorldAction加上一个public无参的构造方法,在里面输出一句话。 大家都知道,一个Java类如果没有写构造方法,那
阅读全文
摘要:1 struts2中Result和ResultType 简单的说,Result是Action执行完后返回的一个字符串,它指示了Action执行完成后,下一个页面在哪里。Result仅仅是个字符串,仅仅是用来指示下一个页面的,那么如何才能够到达下一个页面呢?下一个页面如何能正确地展示结果呢?这就该引出
阅读全文
摘要:1 strtus2异常 在Action中execute方法声明为: public String execute() throws Exception,这样,Action可以抛出任何Exception 1.1 自己实现异常处理 我们以helloWorldAction为例,在Action的execute
阅读全文
摘要:1 值栈是什么 简单的说:值栈是对应每一个请求对象的轻量级的内存数据中心 Struts2中一个很激动人心的特性就是引入了值栈,在这里统一管理着数据,供Action、Result、Interceptor等Struts2的其他部分使用,这样一来,数据被集中管理起来而不会凌乱,大大方便了程序编写。 Str
阅读全文
摘要:1 OGNL概述 OGNL是对象图导航语言Object-Graph Navigation Language的缩写,它是一种功能强大的表达式语言(Expression Language,简称为EL),通过它简单一致的表达式语法,可以存取对象的属性,调用对象的方法,遍历整个对象的结构图,实现字段类型转化
阅读全文
摘要:1 ActionContext 我们知道,ActionContext是Action执行时的上下文,里面存放着Action在执行时需要用到的对象,也称之为广义值栈。Struts2在每次执行Action之前都会创建新的ActionContext,在同一个线程里ActionContext里面的属性是唯一的
阅读全文
摘要:1 url标签简介 <s:url>标签一般和超链接 <a>一起使用,用于带多个参数 <%@ taglib prefix="s" uri="/struts-tags"%> <a href=" <s:url action=""> <s:param name=" " value=""></s:param>
阅读全文
摘要:1 OGNL中符号介绍 1.1 #符号 #符号的用途一般有三种: 1.1.1 访问OGNL上下文和Action上下文 访问OGNL上下文和Action上下文#相当于ActionContext.getContext();下表有几个ActionContext中有用的属性: parameters包含当前H
阅读全文