Struts2(五)】的更多相关文章

我们在上一章节中的一个列子中使用到了一个标识跳转到登录页面的例子: 示例是这样写的: index.jsp: <br/> <a href="gotoLoginPage">login page</a> 这里表示要调转到登录login.jsp页面,不过这个跳转是一个action. 在struts.xml中对应注册: <!-- default class="com.opensymphony.xwork2.ActionSupport"…
Struts框架一共为我们提供了35个拦截器,其中默认的拦截器有18个,框架访问action的异常处理,配置信息处理,转发重定向选择,上传等等等等,都是这18个拦截器中设置的,起着非比寻常的作用.而这些在struts-default.xml文件中都有设置,看一下吧: <interceptor-stack name="defaultStack"> <interceptor-ref name="exception"/> <intercept…
Struts1和Struts2的区别和对比: Action 类:  • Struts1要求Action类继承一个抽象基类.Struts1的一个普遍问题是使用抽象类编程而不是接口,而struts2的Action是接口.  • Struts 2 Action类可以实现一个Action接口,也可实现其他接口,使可选和定制的服务成为可能.Struts2提供一个ActionSupport基类去 实现 常用的接口.Action接口不是必须的,任何有execute标识的POJO对象都可以用作Struts2的A…
Struts2 常量大多在 默认的配置文件中已经配置好,但根据用户的需求不同,开发的要求不同,需要修改这些常量值,修改的方法就是在配置的文件对常量进行重新配置 在struts.xml 文件中使用<constant>元素配置常量. 在struts.properties文件中配置常量 在web.xml 文件中通过<init-param> 元素配置常量 1.在struts.xml 文件中使用<constant>元素配置常量.(常用) 在struts.xml文件中通过<c…
坚持就是胜利. --WH 一.s标签 在struts-2.3.15.1/docs/WW/docs/tag-reference.html下,就有着struts2所有标签的参考文献,只能看看其中比较常用的标签.其他的以后遇到了在看参考文献即可. 通用标签,control Tags 和 DataTags,下面用方框圈起来的就是我们需要了解的 1.1.if.elseif.else 标签. 这个很简单,流程控制的标签,跟我们平常写的if语句基本上类似.test用来编写条件的 1.2.Iterator 迭代…
一.概述 在提交表单数据时,如果数据需要保存到数据库,空输入等可能会引发一些异常,为了避免引起用户的输入引起底层异常,通常在进行业务逻辑操作之前,先执行基本的数据校验. 下面通过两种方式来阐述Struts 2的数据校验功能. 二.重写validate方法 我们编写的Action一般继承与ActionSupport,而ActionSupport不仅实现了Action接口,还实现了Validatable接口,提供了数据校验功能.在Validatable接口中定义一个validate方法,重写该方法,…
一.method参数 action package com.pb.web.action; public class HourseAction { public String add(){ System.out.println("执行添加操作!"); return "success"; } public String update(){ System.out.println("执行更新操作!"); return "success"…
一.用户注册功能 register.jsp页面 若是jquery ajax方式提交给action,还要回到jquery,控制权在jquery若是表单方式提交给action,控制权交给action <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//…
Ognl经常使用标签:   1.s:debug       假设把该标签放入到s:iterator中能够看到当前正在迭代的元素的状态    2.s:property       1.输出       2.value属性:值能直接跟ognl表达式       3.假设value属性不写.则默认输出栈顶的元素    3:s:iterator标签       (1).iterator迭代Collection,Map,Object[],还能够以组合的形式迭代       (2).当前正在迭代的元素在栈顶…
一.Spring整合Hibernate 1.如果一个DAO 类继承了HibernateDaoSupport,只需要在spring配置文件中注入SessionFactory就可以了:如果一个DAO类没有继承HibernateDaoSupport,需要有一个HibernateTemplate的属性,并且在配置文件中进行注入.注意,之前使用的是JdbcDaoSupport和JdbcTemplate,传递的是DataSource,现在使用的是HibernateDaoSupport和HibernateTe…
一.导入包 需要将commons-fileupload和commons-io包和struts包一起导入 实现步骤: 在Jsp页面实现客户端选择上传文件 配置Struts.xml,拦截器会自动接收上传的文件 在Action中实现代码上传文件存入服务器中 跳转至新页面展示上传的文件 二.单个文件上传 上传页面 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding=&…
Struts2的标签库(五) --表单标签 几个特殊的表单标签的使用: 1.checkboxlist标签 该标签用于创建多个复选框,用于同时生成多个<input type="checkbox".../>的HTML标签.它根据list属性指定的集合来生成多个复选框.其标签有如下几个属性: list属性:指定要产生复选框的集合: listKey属性:该属性指定集合元素中的某个属性作为复选框的value.当集合为Map时,可以使用Key或者value来指定Map对象中的key或者…
十五.struts2中的拦截器(框架功能核心) 1.过滤器VS拦截器 功能是一回事. 过滤器是Servlet规范中的技术,可以对请求和响应进行过滤. 拦截器是Struts2框架中的技术,实现AOP(面向切面)的编程思想,可以对请求动作进行拦截. 2.自定义拦截器 步骤:   编写一个类,直接或间接实现Interceptor接口.(拦截器会驻留内存),一般都选择继承AbstractInterceptor public class MyInterceptor extends AbstractInte…
DEMO用的是ssh框架实现的,具体怎么搭建的就不多做说明了.分页表格的数据操作难点就是数据展现.至于增删改直接用hibernate原生的方法实现即可.         初步分析:表格要实现分页,那么一页显示多少条数(PageSize)和当前页码(CurrentPage)这两个条件必不可少.为了实现点击任何一列的表头进行排序,那么排序的列名(Sidx)和排序规则(Sort)必不可少.有了这四个参数实现基本的数据展现应该不成问题了.但是如果数据量比较多的时候,为了方便查询.还得需要一个Map参数,…
所有的学习我们必须先搭建好Struts2的环境(1.导入对应的jar包,2.web.xml,3.struts.xml) 第一节:Struts2 标签简介 Struts2 自己封装了一套标签,比JSTL 强大,而且与Struts2 中的其他功能无缝结合. 当然Strust2 标签的内容很多,随着版本的升级,标签和属性越来越多.我们要掌握好核心标签及了解其他标签. 根据功能可以分为:数据标签,控制标签,界面标签,其他标签. 第二节:Struts2 数据标签 Property 标签:输出OGNL 表达…
在前面我们已经初步使用过拦截器,下面继续细细探讨. 1.概述strust2中的拦截器 拦截器是Struts2框架的核心,它主要完成解析请求参数.将请求参数赋值给Action属性.执行数据校验.文件上传等工作.Struts2设计的灵巧性,拦截器起了关键性的作用,当需要扩展Struts2功能时,只需要提供对应拦截器,并将它配置在Struts2容器中即可:如果不需要该功能时,也只需要取消该拦截器的配置即可.    Struts2内建了大量的拦截器,这些拦截器以name-class对的形式配置在stru…
一.五个常量的位置:位于xwork核心包下的Action字节码文件里 二.五个常量的介绍: a: SUCCESS public static final String SUCCESS = "success";     英文注释: The action execution was successful. Show result  view to the end user.      action执行成功,会返回一个结果视图给用户  .   具体用法: 1.action类中: public…
本文主要介绍Struts2 文件上传.Struts2 多文件上传.文件下载.上传文件的过滤.输入校验.输入校验的流程. 一.Struts2 文件上传 步骤: 1) 页面 <form action="FileUpAction" method="post" enctype="multipart/form-data" > <input type="file" name="fileAAA" >…
先贴个本帖的地址,免得其它网站被爬去了struts2教程 官方系列五:处理表单  即 http://www.cnblogs.com/linghaoxinpian/p/6906298.html 下载本章节代码 介绍 在本教程中,我们将探索使用Struts 2来处理表单提交的更多相关内容.我们将讨论如何使用Java model类来存储表单输入,以及如何创建Struts 2表单来匹配这个模型类. 表单和模型类 对于本教程来说,我们需要提供一个用户可以提交的表单以获得一个奖品.我们的业务规则规定,用户必…
当Action处理完用户请求时,处理结果应该通过视图资源实现,但将哪个视图呈现给浏览者呢.由<result.../>来决定 Action处理完用户请求后,返回一个普通字符串.整个普通字符串就是一个逻辑视图名. 通过配置文件将逻辑视图和物理视图联系起来.一旦系统收到Action返回的逻辑视图名,就把对应的物理视图呈现给浏览者. struts2支持多种视图技术.当一个Action处理用户请求后,仅仅返回一个字符串,这个字符串只是逻辑视图名 逻辑视图名可以和很多视图资源关联.例如 JSP,FreeM…
一.前言 OGNL和标签库的作用,粗暴一点说,就是减少在JSP页面中出现java代码,利于维护. 1.1.OGNL 1.1.1.什么是OGNL? OGNL(Object-Graph Navigation Language):对象图形导航语言,是一种功能强大的表达式语言,通过简单的语法,就能够任意存取对象的属性或者调用对象的方法,能够遍历整个对象的结构图,实现对象属性的类型转换功能. 1.1.2.OGNL的基本知识 1.OGNL表达式的计算是围绕OGNL上下文进行的 OGNL上下文实际上就是一个M…
一.间接访问 public String execute() throws Exception { this.message="hello,this is put into application!"; this.message2="hello,this is put into session!"; this.message3="hello,this is put into request!"; ActionContext ac=ActionCo…
1.Action,返回Chart package com.java1234.chart.bar; import java.awt.Color; import org.jfree.chart.ChartFactory;import org.jfree.chart.JFreeChart;import org.jfree.chart.labels.ItemLabelAnchor;import org.jfree.chart.labels.ItemLabelPosition;import org.jfr…
1. 拦截器(Interceptor): 拦截器是Struts2的核心,Struts2的众多功能都是通过拦截器来实现的. 2. 拦截器的配置 1)编写实现Interceptor 接口的类.  2)在struts.xml文件里定义拦截器.  3)在action中使用拦截器 3. 一旦定义了自己的拦截器,将其配置到action上后,我们须要在action的最后加上默认的拦截器栈:defaultStack. 4. 定义拦截器时能够直接继承AbstractInterceptor抽象类(该类实现了Inte…
Annotation的方式是通过注解的方式把Struts2中的Action.Dao层的实现类.Service层的实现类交由Spring管理,不需要在配置文件中进行配置.但为了方便,事务的管理依然使用的是Schema的方式.如果有需要,可以参照4.3.2中的方式,使用@Transactional对service层进行事务管理. 5.4.1前期工作 给工程加入Spring与Hihernate的功能,这个步骤也5.1.1的相同. http://blog.csdn.net/p_3er/article/d…
5.1整合Spring与Hibernate 5.1.1使用MyEclipse加入Spring与Hibernate功能 使用MyEclipse工具主要是为了让工程拥有把数据表生成实体类与映射的功能.然后在这个过程中,把实体类或映射文件的路径加入到spring的配置文件中.而且在Spring与Hibernate整合后,我们不需要Hibernate的配置文件,Hibernate相关功能的配置都写在spring的配置文件中. A.加入Spring功能 这个很简单,要注意的是,在加入Spring功能的步骤…
1.使用Strut2的的集合对象:在jsp初始化action中的list然后提交到action2.使用Struts标签,实现多个用户同时注册(注意属性配置文件)3.pojo package com.sh.pojo;      import java.util.Date;      public class Register {   private String name;   private String pwd;   private int age;   private Date birthd…
一.概述 1.初识拦截器      Interceptor 拦截器类似前面学过的过滤器,是可以在action执行前后执行的代码,是我们做Web开发经常用到的技术.比如:权限控制.日志等.我们也可以将多个Interceptor 连在一起组成Interceptor 栈.     Struts2拦截器,每个拦截器类只有一个对象实例,即采用单例模式,所有引用这个拦截器的Action都共享这一拦截器类的实例,因此在拦截器中如果使用类变量,要注意同步的问题.      注意:              (1…
前言 上篇博文已经讲解了,Struts2为我们实现了数据自动封装-由上篇的例子我们可以看出,表单提交过去的数据全都是String类型的,但是经过Struts自动封装,就改成是JavaBean对应成员变量的类型了. 但是呢,日期类型只支持是yyyy-MM-dd这种格式的,因为我们在上个例子中直接使用的是Struts支持的格式,因此没有报错-本篇博文就是讲解Struts如何对日期类型的格式更好地支持 日期转换问题 当我们使用的是yyyyMMdd这种格式的时候,我们看看Struts的自动封装能不能解析…
前言 前面介绍了struts2的输入验证,如果让我自己选的话,肯定是选择xml配置校验的方法,因为,能使用struts2中的一些校验规则,就无需自己编写了, 不过到后面应该都有其他更方便的校验方法,而不会使用struts2内置的这些校验. 参考博文:http://www.cnblogs.com/whgk/p/6593916.html http://www.cnblogs.com/cxyzyh2017/p/6622827.html 一.struts2拦截器概述 1)什么是拦截器? Struts2中…