Struts2学习笔记一(运行流程及自定义类型转换)

转载 2016年08月29日 12:00:15

1、mvc模式,利用过滤器  StrutsPrepareAndExecuteFilter  拦截 所有请求,请求根据action="login.action",找到struts.xml中的

      <action name="login" class="com.yanlei.struts2.LoginAction"> 自动转换类型(八种基本类型),然后执行public String execute()找到对应String 

       执行<result name="success">/result.jsp</result>,返回结果页面,取出数据,username: ${requestScope.username }

2、---非基本类型转换,先定义个bean (前台String--后台bean--String),所以需要写个转换器,前台的String转化为后台的bean

     ---- 前台 String提交过来,到<action name="login" class="com.yanlei.struts2.LoginAction">,

     ----- 发现同目录下LoginAction-conversion.properties,有自已定义转换,user=com....UserConverter,LoginAction的user属性来自于转换器

    ----- 启用转换器   public class UserConverter extendsDefaultTypeConverter( 重写convertValue方法 {

public Object conpublic Object convertFromString(Map arg0, String[] arg1, Class arg2)vertValue(Map context, Object value, ClasstoType) {
if (toType == User.class)   {       // 页面向后台对象转换
String[] str = (String[]) value;
String firstValue = str[0];
StringTokenizer st = new StringTokenizer(firstValue, ";");
String name = st.nextToken();
String pwd = st.nextToken();
User user = new User();
user.setName(name);
user.setPwd(pwd);
return user;   =====>     LoginAction的user就得到值了,就可以在public String execute()使用了。


}else if (toType == String.class){  //后台对象向页面转化,目标类型是字符串
User u=(User) value;
           return u.getName()+"  xxxxx  "+u.getPwd();
}
return null;
}

     -------当使用完后,由action想前台页面转,输出的时候(即后台对象向前台String转),然后利用转换器,

toType == String.class,完成转化,输出String内容,在前台可用struts2标签,<s:property value="user"/>输出。

3、可以继承StrutsTypeConverter(其实StrutsTypeConverter也是来自于 DefaultTypeConverter)一样的

     若前台页面是批量的user 则后台用list来接收,其实public Object convertFromString(Map arg0, String[] arg1, Class arg2) 是对象数组,遍历取出

     赋值即可。













Struts2自定义类型转换器

Struts2自定义类型转换器 博客分类:  Struts2     一  转换器的介绍   在Web应用中,页面提交请求的参数都是字符串类型的。但是...
  • as3517833
  • as3517833
  • 2014年08月20日 21:33
  • 1139

数据库笔记(自己学习过程中整理)

编程语言是实现对内存的操作比较方便,对硬盘数据的操作数据库比较方便   一、数据库如何存储数据的 字段,记录,表,约束(主键,外键,唯一键,非空,check,default)   二、如何操作数据 i...
  • Caster_Saber
  • Caster_Saber
  • 2015年05月17日 16:20
  • 1660

[持续更新]HTML5学习笔记(二)

1.  元素分类 元数据元素(metadata element):由此可见主要是元素中的事情了,向浏览器提供信息和指示; 流元素(flow element):听名字怪异,但是其实是规定这些元素可以...
  • u014267351
  • u014267351
  • 2015年09月01日 13:03
  • 1666

struts2学习笔记3数据类型转换

  • 2010年04月07日 20:49
  • 3.26MB
  • 下载

struts2自定义类型转换、拦截器实例练习

  • 2017年12月25日 19:45
  • 23KB
  • 下载

struts2自定义数据类型转换练习

  • 2012年05月14日 14:55
  • 3.07MB
  • 下载

尚硅谷学习笔记--Struts2 类型转换(1)

概述 为什么要类型转换? 从一个 HTML 表单到一个 Action 对象, 类型转换是从字符串到非字符串. 但是HTTP 没有 “类型” 的概念. 每一项表单输入只可能是一个字符串或一个字符串数...
  • zhaoxin022
  • zhaoxin022
  • 2016年12月11日 13:05
  • 112

Struts2学习笔记1-类型转换

Struts2提供了很多基本类的类型转换
  • zzycjcg
  • zzycjcg
  • 2014年04月07日 16:52
  • 292

Struts2学习笔记(十二) 类型转换(Type Conversion)(下)

null引用处理 我们知道,我们在Action中定义属性时并没有对他们进行初始化,那么也就是Struts2在对请求参数进行类型转换时,我们的Action属性可能还是null。那么框架会自动将这些nu...
  • jdluojing
  • jdluojing
  • 2012年05月22日 00:09
  • 5584

Struts2学习笔记(二)之页面与后台对象的类型转换

其他知识点点击链接:         1:Struts2学习笔记(一)初步了解Struts2以及配置              2:Struts2学习笔记(三)之输入校验(使用直接编码方式)  ...
  • jiangqq781931404
  • jiangqq781931404
  • 2012年03月29日 08:56
  • 4868
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Struts2学习笔记一(运行流程及自定义类型转换)
举报原因:
原因补充:

(最多只允许输入30个字)