Struts2-学习笔记系列(9)-OGNL类型转换和类型绑定
HTML:
<s:form action="login">
<s:textfield name="user.name" label="用户名"></s:textfield>
<s:textfield name="user.pwd" label="密码"></s:textfield>
<s:submit value="submit"></s:submit>
</s:form>
注意:
Action类中包含user实例,并有get和set方法。框架利用set方法和反射构造user实例
集合类型绑定
9.1.绑定MAP
<s:form action="login">
<s:textfield name="users['one'].name" label="用户名"></s:textfield>
<s:textfield name="users['one'].pwd" label="密码"></s:textfield>
<s:textfield name="users['two'].name" label="用户名"></s:textfield>
<s:textfield name="users['two'].pwd" label="密码"></s:textfield>
<s:submit value="submit"></s:submit>
</s:form>
9.2绑定list
<s:form action="login">
<s:textfield name="users[0].name" label="用户名"></s:textfield>
<s:textfield name="users[0].pwd" label="密码"></s:textfield>
<s:textfield name="users[1].name" label="用户名"></s:textfield>
<s:textfield name="users[1].pwd" label="密码"></s:textfield>
<s:submit value="submit"></s:submit>
</s:form>
9.3外部映射文件
定义list对象
private List users;
public String execute() throws Exception {
User user=(User)getUsers().get(0);
if(user.getName().equals("zcx")){
addActionMessage("转换成功");
return SUCCESS;
}
addActionMessage("转换失败");
return ERROR;
}
public List getUsers() {
return users;
}
public void setUsers(List users) {
this.users = users;
}
外部文件:
LoginAction-conversion.properties
-conversion.properties:固定部分
LoginAction:对于action类名
Element_:固定部分
Users:成员名称
对于map类型对象,需要使用
Key_<MapPropName>=<valuetype>
<MapPropName>:map类型属性的属性名
Element_users=domain.User
Struts2-学习笔记系列(9)-OGNL类型转换和类型绑定的更多相关文章
- Struts2 学习笔记(概述)
Struts2 学习笔记 2015年3月7日11:02:55 MVC思想 Strust2的MVC对应关系如下: 在MVC三个模块当中,struts2对应关系如下: Model: 负责封装应用的状态,并 ...
- MongoDB学习笔记系列
回到占占推荐博客索引 该来的总会来的,Ef,Redis,MVC甚至Sqlserver都有了自己的系列,MongoDB没有理由不去整理一下,这个系列都是平时在项目开发时总结出来的,希望可以为各位一些帮助 ...
- Dynamic CRM 2013学习笔记 系列汇总
这里列出所有 Dynamic CRM 2013学习笔记 系列文章,方便大家查阅.有任何建议.意见.需要,欢迎大家提交评论一起讨论. 本文原文地址: Dynamic CRM 2013学习笔记 系列汇总 ...
- SQLServer学习笔记系列3
一.写在前面的话 今天又是双休啦!生活依然再继续,当你停下来的时候,或许会突然显得不自在.有时候,看到一种东西,你会发现原来在这个社会上,优秀的人很多,默默 吃苦努力奋斗的人也多!星期五早上按时上班, ...
- SQLServer学习笔记系列2
一.写在前面的话 继上一次SQLServer学习笔记系列1http://www.cnblogs.com/liupeng61624/p/4354983.html以后,继续学习Sqlserver,一步一步 ...
- Dynamic CRM 2015学习笔记 系列汇总
这里列出所有 Dynamic CRM 2015学习笔记 系列文章,方便大家查阅.有任何建议.意见.需要,欢迎大家提交评论一起讨论. 本文原文地址:Dynamic CRM 2015学习笔记 系列汇总 一 ...
- 步步为营 SharePoint 开发学习笔记系列总结
转:http://www.cnblogs.com/springyangwc/archive/2011/08/03/2126763.html 概要 为时20多天的sharepoint开发学习笔记系列终于 ...
- WebService学习笔记系列(二)
soap(简单对象访问协议),它是在http基础之上传递xml格式数据的协议.soap协议分为两个版本,soap1.1和soap1.2. 在学习webservice时我们有一个必备工具叫做tcpmon ...
- Struts2学习笔记⑧
今天是Struts2学习笔记的最后一篇文章了.用什么做结尾呢,这两天其实还学了很多东西,没有记录下,今天就查漏补缺一下. 文件上传与下载.FreeMarker以及昨天没做完的例子 文件上传与下载 文件 ...
随机推荐
- DVWA Brute Force 解析
LOW 源代码如下: <?php if( isset( $_GET['Login'] ) ) { $user = $_GET['username']; $pass = $_GET['passwo ...
- vscode不能打开浏览器(Open browser failed!! Please check if you have installed the browser correctly!)
vscode出现上述问题,我也查了很多相关资料,什么改默认浏览器设置什么的,改配置,改系统环境变量什么的,不但麻烦而且最后都难以成功. 下面分享一个可以解决的最简单办法.那就是:舍弃open in b ...
- 学习vue前的准备工作
起步 1.扎实的HTML/CSS/Javascript基本功,这是前置条件. 2.不要用任何的构建项目工具,只用最简单的<script>,把教程里的例子模仿一遍,理解用法.不推荐上来就直接 ...
- Centos 非root用户安装rabbitmq
RabbitMQ是一个开源消息队列服务器,您可以使用它来构建您的消息传递应用程序.简单地说,您可以将来自一个应用程序的消息放入队列,并从来自相同应用程序或不同应用程序的队列中检索消息.您可以使用多种编 ...
- Django-jwt token生成源码分析
一. 认证的发展历程简介 这里真的很简单的提一下认证的发展历程.以前大都是采用cookie.session的形式来进行客户端的认证,带来的结果就是在数据库上大量存储session导致数据库压力增大,大 ...
- 如何从零基础开始学习LoadRunner12(一)
如何从零基础开始学习LoadRunner12(一) 上一篇文章讲到了如何安装LR12的教程,这一篇文章来讲一下怎么利用LoadRunner自带的Sample来学习LoadRunner的基本使用. 首先 ...
- 自定义上下文菜单,contextmenu事件
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 如何让Docker镜像飞起来
前言 Docker用起来非常爽,尤其是用于DevOps实践时.但是,当你在国内或者本地拉取镜像时,经常会碰到各种“便秘”——要么镜像拉取缓慢,要么时断时连,要么连接超时! 当我们的镜像又比较大时(比如 ...
- 《深入理解 Java 虚拟机》读书笔记:Java 内存模型与线程
正文 由于计算机的处理器运算速度与它的存储和通信子系统速度的差距太大了,大量的时间都花费在磁盘 I/O.网络通信或者数据库访问上,导致处理器在大部分时间里都处于等待其他资源的状态.因此,为了充分利用计 ...
- Soldier and Number Game CodeForces - 546D 素因子数打表(素数筛的改造)
题意: 输入 a 和 b(a>b),求a! / b!的结果最多能被第二个士兵给的数字除多少次. 思路: a! / b!肯定能把b!约分掉,只留下b+1~a的数字相乘,所以我们求b+1 ~ a的所 ...