Struts 2.1:基于OGNL的类型转换
来源:互联网 发布:linux 没有tar命令 编辑:程序博客网 时间:2024/06/16 07:49
Struts 2内建的OGNL表达式的支持,因此在Struts 2中甚至可以直接将字符串参数转换成符合类型。
使用MAP实例
lee\LoginAction.java
package lee;import com.opensymphony.xwork2.Action;import java.util.Map;public class LoginAction implements Action{//User类型属性封装请求参数 private Map<String ,User> users;private String tip;//user属性的setter和getter方法public void setUsers(Map<String ,User> users) {this.users = users; }public Map<String ,User> getUsers() {return (this.users); }//tip属性的setter和getter方法public void setTip(String tip) {this.tip = tip; }public String getTip() {return (this.tip); }//处理用户请求的execute方法public String execute() throws Exception{//通过user属性的name属性和pass属性来决定转向if (getUsers().get("one").getName().equals("crazyit")&& getUsers().get("one").getPass().equals("leegang")){setTip("转换成功");return SUCCESS;}else{setTip("转换失败");return ERROR;}}}
lee\User.java
package lee;public class User{//两个普通属性private String name;private String pass;//无参数的构造器public User(){}//初始化全部属性的构造器public User(String name , String pass){this.name = name;this.pass = pass;}//name属性的setter和getter方法public void setName(String name){this.name = name;}public String getName(){return this.name;}//pass属性的setter和getter方法public void setPass(String pass){this.pass = pass;}public String getPass(){return this.pass;}}
\input.jsp
<%@ page contentType="text/html; charset=GBK" language="java" errorPage="" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><title>直接封装成Map</title></head><body><form action="login.action" method="post"><table align="center" width="360"><caption><h3>直接封装成对象Map</h3></caption><tr><td>第一个用户名:<input type="text" name="users['one'].name"/></td></tr><tr><td>第一个密码:<input type="text" name="users['one'].pass"/></td></tr><tr><td>第二个用户名:<input type="text" name="users['two'].name"/></td></tr><tr><td>第二个密码:<input type="text" name="users['two'].pass"/></td></tr><tr align="center"><td><input type="submit" value="转换"/><input type="reset" value="重填" /></td></tr></table></form></body></html>
类似的,如果我们要访问Action的Map类型的属性,也可以使用OGNL表达式:
<body>转换成功!<br />key为one的用户名为:<s:property value="users['one'].name"/><br />key为one的密码为:<s:property value="users['one'].pass"/><br />key为two的用户名为:<s:property value="users['two'].name"/><br />key为two的密码为:<s:property value="users['two'].pass"/><br /></body>
如果把LoginAction中的users属性改为List<String>,一样可以利用OGNL表达式:
<form action="login.action" method="post"><table align="center" width="360"><caption><h3>直接封装成对象 List</h3></caption><tr><td>第一个用户名:<input type="text" name="users[0].name"/></td></tr><tr><td>第一个密码:<input type="text" name="users[0].pass"/></td></tr><tr><td>第二个用户名:<input type="text" name="users[1].name"/></td></tr><tr><td>第二个密码:<input type="text" name="users[1].pass"/></td></tr><tr align="center"><td><input type="submit" value="转换"/><input type="reset" value="重填" /></td></tr></table></form>
- Struts 2.1:基于OGNL的类型转换
- 基于OGNL的类型转换
- struts2 基于OGNL的类型转换
- Struts2中基于OGNL的类型转换
- 【Struts2】:基于OGNL的类型转换
- Struts2基于OGNL的类型转换
- Struts2的类型转换(1):基于ognl的类型转换
- JavaWeb -- Struts 数据传输:OGNL和类型转换
- Struts2内建的类型转换器和基于OGNL的类型转换
- struts2的OGNL和类型转换
- 关于struts的类型转换
- struts 2的OGNL
- Struts的OGNL表达式
- Struts的OGNL表达式
- Struts2之OGNL类型转换
- struts2 基于OGNL的几种日期转换
- Struts 2的OGNL表达式
- Struts OGNL 表达式的用法
- struts2 中文文件下载
- 第二周总结
- 用Spring提供的JUnit框架扩展对DAO或Service层进行单元测试
- AbstractFactory模式
- MySql数据库的查询、链接
- Struts 2.1:基于OGNL的类型转换
- 软件工程师如何去做项目验收前的系统集成以及交维工作
- Mysql数据库的创建、删除
- can (linux/Documentation/networking/can.txt)
- VC 添加皮肤库
- JDBC ResultSet分析
- windows 7 如何调出快速启动栏
- SQL的讲解
- 关于类型转换——byte类型相加引发的编译出错