Struts2学习笔记一(运行流程及自定义类型转换)
来源:互联网 发布:mac如何截屏快捷键 编辑:程序博客网 时间:2024/06/08 04:45
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学习(一)类型转换--DefaultTypeConverter
- 类型转换---struts2学习笔记
- Struts2类型转换学习笔记
- Struts2学习笔记-类型转换
- Struts2的自动类型转换及自定义类型转换
- Struts2的自动类型转换及自定义类型转换
- Struts2的自动类型转换及自定义类型转换
- struts2 类型转换流程
- Struts2 类型转换流程
- Struts2类型转换(一)----常规类型,自定义类型,错误处理
- struts2初学笔记(一) 类型转换
- Struts2自定义类型转换
- struts2自定义类型转换
- Struts2自定义类型转换
- Struts2自定义类型转换
- struts2自定义类型转换
- libGDX环境搭建
- C语言之尾队列tailq
- spark-shell用非sql API 改写 hql
- spring mvc EL ModelAndView的 Model 值 在jsp中不显示
- windows 网络问题
- Struts2学习笔记一(运行流程及自定义类型转换)
- java生成二维码使用QRCode和ZXing两种方式
- 简单的侧滑菜单实现
- android多线程下载
- freeBSD TAILQ队列的理解
- 支付宝可以休矣,淘宝才是阿里社交的正确选择
- UVA 10163 Storage Keepers
- fmt包的占位符
- adapter实例