struts2 模型驱动
public class User3Action extends ActionSupport implements ModelDriven<User> {
private User user = new User();
public User getModel() {
return user;
}
@Override
public String execute() throws Exception {
System.out.println(user);
return NONE;
}
}
<form action="${pageContext.request.contextPath}/user3.action" method="post">
用户名
<input type="text" name="username" />
<br />
密码
<input type="password" name="password" />
<br />
<input type="submit" value="提交" />
</form>
页面:
用户名:<input type="text" name="username"><br/>
Action:
public class ParamAction3 extends ActionSupport implements ModelDriven<User>{
private User user = new User();
public User getModel() {
return user;
}
}
***** 实现ModelDriven<T> 必须手动构建封装对象.
* 模型驱动使用中最为广泛.Struts2中提供了一个单独的拦截器完成模型驱动的封装,而且Struts2中某些结构围绕模型驱动设计.
比较第二种和第三种方式:
* 第三种使用的比较多.第二种比较灵活的.第三种模型驱动的方式只能封装到一个实体对象.第二种方式封装到不同的实体中.
* 第三种方式提供的拦截器:
<interceptor name="modelDriven" class="com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor"/>
* 第二种封装到不同的实体:
<input type=”text” name=”user.username”>
<input type=”text” name=”product.price”>
struts2 模型驱动的更多相关文章
- 【Java EE 学习 36】【struts2】【struts2系统验证】【struts2 ognl值栈】【struts2 ongl标签】【struts2 UI标签】【struts2模型驱动和令牌机制】
一.struts2系统验证 1.基于struts2系统验证的方式实际上就是通过配置xml文件的方式达到验证的目的. 2.实际上系统校验的方法和手工校验的方法在底层的基本实现是相同的.但是使用系统校验的 ...
- struts2 模型驱动的action赋值优先顺序
struts2 模型驱动的action赋值优先顺序: 1.优先设置model的属性. 2.如果model属性中没有对应的成员变量,则向上冒泡,寻找action中的属性进行set. 如果action中的 ...
- Struts2 模型驱动及页面回显
* 要从页面中获取表单元素的值,需要在动作类中声明与页面元素同名的属性.导致动作类中既有javabean又有业务方法. * 将javabean和业务方法进行分离: * 将重 ...
- JavaWeb -- Struts2 模型驱动
1. 模型驱动 示例: 注册表单reg.jsp <%@ page language="java" contentType="text/html; charset=u ...
- [java]struts2 模型驱动 2016-05-01 21:40 702人阅读 评论(19) 收藏
一开始敲网上商城的时候,对于数据的传递方式我是很惊艳了一把的,感觉特别高大上,就感觉,竟然不用像.net一样取谁的值,给谁赋值这样,只要需要用的时候,简单的get一下就ok了,简直高大上啊. 然后发现 ...
- (九)Struts2模型驱动和属性驱动
出于结构清晰的考虑,应该采用单独的Model实例来封装请求参数和处理结果,这就是所谓的模型驱动, 所谓模型驱动,就是使用单独的JavaBean来贯穿整个MVC流程. 所谓属性驱动,就是使用属性来作为贯 ...
- struts2模型驱动传值问题
控制台错误提示: 2020-01-08 18:34:40,292 [http-nio-8080-exec-3] [org.apache.struts2.dispatcher.Dispatcher]-[ ...
- Struts2的属性驱动与模型驱动的区别
1.Struts2的属性驱动. Struts2的属性驱动指的是在action中JSP页面的每一个form中的name都对应在action中有一个属性与之对应.看下面代码片段: <form act ...
- Struts2基础学习2
Struts2基础学习2 项目结构,测试页面与实体类 <%@ page language="java" contentType="text/html; charse ...
随机推荐
- 代码中access 的使用
C++代码:if(access(strZip.c_str(), 0) == 0){...} 此处为判断strZip中文件是否存在 .c_str() 是他自身字符串名称,该名称是一个压缩文件 ...
- 从HTML原型到jsp页面完美转型攻略(教你即使不会写代码也能弄出漂亮的网页)
大家都知道软件项目(web)开发之前都要先做原型设计,而我们使用的比较多的一款原型设计软件就是Axure rp了.在Axure rp上画原型不需要任何编码能力,而且生成的原型可以在浏览器上运行.除了没 ...
- fedora各个版本的下载地址archive
archive: ['a:kaiv] she went to the city archive this morning. ==================== === fedora 的下载地址是 ...
- dijkstra算法求最短路
艾兹格·W·迪科斯彻 (Edsger Wybe Dijkstra,1930年5月11日~2002年8月6日)荷兰人. 计算机科学家,毕业就职于荷兰Leiden大学,早年钻研物理及数学,而后转为计算学. ...
- Properties类的使用方法
它提供了几个主要的方法: 1. getProperty ( String key),用指定的键在此属性列表中搜索属性.也就是通过参数 key ,得到 key 所对应的 value. 2. load ( ...
- Materialize一款不错的框架(装逼必备,想想一帮渣渣们还在说bootstrap的时候,你用materialize,高端洋气,别人仰望着,同事们鄙视的看着你还能不能愉快的玩耍的时候,那种孤高的感觉!-_-//意淫结束)
这个materialize感觉比bootstrap好一点 当然啦中文文档还木有!所以想搞个materialize中文网的可以抢先咯! materialize是谷歌设计制作的一款框架. HOHO,出去别 ...
- cocos2d-x多分辨率适配方案:setDesignResolutionSize使用
1. setDesignResolutionSize使用方法及主要的三种适配模式 在cocos2d-x 2.0里,提供了一个叫做setDesignResolutionSize的方法,直接一次设置就可以 ...
- 【C语言入门教程】4.2 二维数组
C 语言允许使用多维数组,即使用多组小标的数组,二维数组是最常用的多维数组.多维数组在内存中存放数据的顺序与一维数组相同,使用连续的存储单元. 4.2.1 二维数组的一般形式 二维数组的一般声明形式为 ...
- git ssh-add 报错 ssh-add Could not open a connection to your authentication agent
$ ssh-add ~/.ssh/id_rsa.pub Could not open a connection to your authentication agent. 启动ssh-agent服务 ...
- 【转】JavaScript面向对象
http://www.cnblogs.com/dolphinX/p/4385862.html 理解对象 对象这个词如雷贯耳,同样出名的一句话:XXX语言中一切皆为对象! 对象究竟是什么?什么叫面向对象 ...