struts2复习

struts2的action

action的创建

  • 一个普通的类:public class TestAction(){}
  • action接口:public interface TestAction(){}
  • 继承ActionSupport类:public class TestAction extend ActionSupport(){}

DMI及通配符

  • DMI:<a href “actionname!方法名.action”>方法名
  • 通配符:*

action接受请求参数

  • action属性接受参数:在action类中定义与请求参数同名的属性(setter、getter)
  • 使用数据Bean接收:将用户请求的参数封装在JavaBean中
  • 泛型接口

action中常见的结果类型

1)dispatcher :默认的请求转发的结果类型,Action 转发给 JSP
2) chain :Action 转发到另一个 Action
2)redirect : 重定向,Action 重定向到 JSP或者action甚至其他网站
3)redirectAction :Action 重定向到另一个 Action
4)全局result

struts2的类型转换

类型转换的意义

用户请求参数类型只能是字符串数据类型;Java是强类型语言,必须将字符串转换成相应的数据类型

自定义类型转换器

  • 实现ognl.TypeConverter接口

  • 继承DefaultTypeConverter类

  • 继承StrutsTypeConverter类

注册自定义类型转换器

注册局部类型转换器:仅仅对某个Action的属性起作用。
建立文件(ationname-conversion.properties):propertyname=类型转换器类
注册全局类型转换器:所有Action的特定属性都会生效。
建立文件(xwork-conversion.properties)

struts2的拦截器

自定义拦截器

  • 实现Interceptor接口
  • 继承AbstractInterceptor类
  • 继承MethodFilterInterceptor类

拦截器

struts2的核心功能有拦截器实现

OGNL

基础

  • ognl上下文:map对象,由ognl.OgnlContext类表示
  • 值栈(AalueStack):根对象(可以放入、删除、查询对象)
  • 访问:${foo};<s:property value=foo>(获得值栈中某个对象的foo属性)
    (如果访问context中的对象,由于不是根对象;访问时加#)
  • 使用ognl表达式时,需要事先导入<%@taglib prefix=“s” uri=/struts-tags%>

ognl基本语法和实现

struts2的标签

图片来自# OGNL在这里插入图片描述

输入校验

手动编程校验

  • 重写validate()方法——对execute()方法进行校验
  • 重写validateXXX()方法——对指定方法进行校验

Struts2校验框架

  • 校验action中所有与execute()方法签名相同的方法
    创建文件:ActionClassName-validation.xml

  • 校验action中某个方法
    创建文件:ActionClassName-ActionName-validation.xml

国际化

基础

  • 组成:JSP页面国际化;校验信息国际化;action信息国际化等

  • 基本思想:将程序中的信息放在资源文件中,程序根据支持的国家及语言环境,读取相应的资源文件。资源文件是key-value对,每个资源文件中的key是不变的,但value则随不同国家/语言变化。

  • 资源文件命名方式
    baseName.properties
    baseName_language.properties
    baseName_language_country.properties
    eg:
    中国大陆: baseName_zh_CN.properties
    美国: baseName_en_US.properties

  • Action类可以继承ActionSupport,使用getText()方法取得国际化信息

  • <s:text>标签用来输出国际化信息

文件的上传与下载

  • 表单标签:
    enctype=“multiple/form-data”;method=“post”
  • <s:file/>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值