Struts2-学习笔记系列-OGNL类型转换和类型绑定

Posted 逆向行驶

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Struts2-学习笔记系列-OGNL类型转换和类型绑定相关的知识,希望对你有一定的参考价值。

html

1 <s:form action="login">
2     <s:textfield name="user.name" label="用户名"></s:textfield>
3     <s:textfield name="user.pwd" label="密码"></s:textfield>
4     <s:submit value="submit"></s:submit>
5 </s:form>
6 
7  

 

注意:

Action类中包含user实例,并有get和set方法。框架利用set方法和反射构造user实例

 

集合类型绑定

9.1.绑定MAP

1 <s:form action="login">
2     <s:textfield name="users[‘one‘].name" label="用户名"></s:textfield>
3     <s:textfield name="users[‘one‘].pwd" label="密码"></s:textfield>
4     <s:textfield name="users[‘two‘].name" label="用户名"></s:textfield>
5     <s:textfield name="users[‘two‘].pwd" label="密码"></s:textfield>
6     <s:submit value="submit"></s:submit>
7 </s:form>

 

 

9.2绑定list

1 <s:form action="login">
2     <s:textfield name="users[0].name" label="用户名"></s:textfield>
3     <s:textfield name="users[0].pwd" label="密码"></s:textfield>
4     <s:textfield name="users[1].name" label="用户名"></s:textfield>
5     <s:textfield name="users[1].pwd" label="密码"></s:textfield>
6     <s:submit value="submit"></s:submit>
7 </s:form>

 

9.3外部映射文件

定义list对象

 1 private List users;
 2 
 3 public String execute() throws Exception {
 4     User user=(User)getUsers().get(0);
 5     if(user.getName().equals("zcx")){
 6         addActionMessage("转换成功");
 7         return SUCCESS;
 8     }
 9     addActionMessage("转换失败");
10     return ERROR;
11 }
12 
13 
14 public List getUsers() {
15     return users;
16 }
17 
18 public void setUsers(List users) {
19     this.users = users;
20 }

 

外部文件:

LoginAction-conversion.properties

-conversion.properties:固定部分

LoginAction:对于action类名

Element_:固定部分

Users:成员名称

对于map类型对象,需要使用

Key_<MapPropName>=<valuetype>

<MapPropName>:map类型属性的属性名

 

Element_users=domain.User

 

以上是关于Struts2-学习笔记系列-OGNL类型转换和类型绑定的主要内容,如果未能解决你的问题,请参考以下文章

Struts2学习笔记三:OGNL表达式学习Struts2与Ognl表达式的结合原理

Struts2学习笔记(OGNL表达式)

struts2学习笔记--OGNL表达式1

struts2框架学习笔记5:OGNL表达式

struts2中的类型转换,自定义类型转换器需要继承啥类

学习OGNL语法