- 浏览: 108352 次
- 性别:
- 来自: 武汉
文章分类
最新评论
-
ldwtill:
overwrite呢?
overload,overwrite和override比较 -
dafeiwang:
...
过滤器和拦截器的区别
在Struts 2中,提供了另外一种直接使用领域对象的方式,就是让action实现com.opensymphony. xwork2.ModelDriven接口。ModelDriven让你可以直接操作应用程序中的领域对象(模型对象),允许你在Web层和业务逻辑层使用相同的对象。
ModelDriven接口中只有一个方法,如下:
public T getModel() |
该方法返回一个用于接收用户输入数据的模型对象。在页面中,这个模型对象中的属性可以直接通过属性名来访问(如username),而不需要使用形如“user.username”这种格式的表达式,在action中也不需要为这个模型对象提供JavaBean风格的getter和setter方法。
下面我们让在3.1节创建的LoginAction类实现ModelDriven接口,修改后的代码如例3-7所示。
例3-7 LoginAction.java
package org.sunxin.struts2.ch03.action; import org.sunxin.struts2.ch03.model.User; import com.opensymphony.xwork2.Action; import com.opensymphony.xwork2.ModelDriven; public class LoginAction implements Action,ModelDriven<User> { private User user = new User(); @Override public String execute() throws Exception { … //省略 } @Override public User getModel() { return user; } } |
修改过的部分以粗体显示。
修改login.jsp,修改后的代码如例3-8所示。
例3-8 login.jsp
… <form action="login.action" method="post"> <table> <tr> <td>用户名:</td> <td><input type="text" name="username"></td> </tr> <tr> <td>密码:</td> <td><input type="password" name="password"></td> </tr> <tr> <td><input type="reset" value="重填"></td> <td><input type="submit" value="登录"></td> </tr> </table> </form> … |
修改过的部分以粗体显示。LoginAction实现了ModelDriven接口,表单字段就不需要再使用 “user.”前缀了。
修改success.jsp,修改后的代码如例3-9所示。
例3-9 success.jsp
… <body> <h3><s:property value="username" />,欢迎您登 录程序员之家网站(www.sunxin.org)。</h3> </body> … |
修改过的部分以粗体显示。
完整的项目代码请参看本书配套光盘中的ch03_2目录,测试时,输入URL:
http://localhost:8080/ch03_2/login.jsp
那么什么时候应该直接使用领域对象,什么时候应该实现ModelDriven接口呢?这两种方式实际上并没有本质的区别,对于大多数的应用,使用任何一种方式都可以。
发表评论
-
struts2 工作原理(配合工作原理流程图)
2011-09-12 09:52 1408------------------------------- ... -
Struts通配符
2011-09-09 17:05 971如struts中配有如下几个action,Man ... -
OGNL使用小结
2011-09-08 16:24 707最近一直使用struts2,表现层采用JSP,用的st ... -
OGNL 详细资料
2011-05-05 16:46 1031OGNL是XWork引入的一个非常有效的数据处理的工具。我们已 ... -
OGNL学习笔记
2011-05-05 13:00 798Java代码 <%@ page ... -
sruts2.0 web.xml 配置文件
2011-05-04 16:51 1047任何MVC框架都需要与Web ... -
Sturt2-文件上传
2011-05-02 09:55 9071、新建文件夹upload内含upload.jsp,res ... -
Sturt2-文件下载
2011-05-02 09:53 914Java代码 <body> ... -
搭建一个Struts2项目的开发环境,你知道多少呢?
2011-05-02 09:25 821搭建一个Struts2项目的开发环境时,我们一般需要做以下 ... -
仿百度、google分页的实现
2011-05-02 09:23 1092前段时间写了个仿百度、google分页,现 ... -
struts2详解(二)---->>单个文件上传
2011-05-02 09:20 801实现原理: Struts 2是通过Commons ... -
struts2文件上传的采用的三种方式解析
2011-05-02 09:18 731struts2文件上传的采用的三种方式解析 文件 ... -
基于 Struts 2 拦截器实现细粒度的基于角色的存取控制
2011-05-02 08:55 602本文介绍如何利用 Struts ... -
详解Struts1在web.xml中的基本配置
2011-05-02 08:53 978<servlet> <ser ... -
Struts 工作原理
2011-05-02 08:43 951MVC即Model-View-Controller的 ... -
struts1 struts-config.xml 详细介绍
2011-05-02 08:30 953关于struts1的struts-config.x ... -
struts1 struts2 区别 整理
2011-05-02 08:28 606Action 类:• Struts1要求Act ... -
struts2+fckeditor 注意要点
2011-05-01 18:46 835fckeditor是老外的东西,跟struts2配合时,要多注 ... -
过滤器和拦截器的区别
2011-05-01 18:23 1579Java代码 过滤器和拦截器的区别 ... -
jsp\struts1.2\struts2 中文件上传
2011-05-01 18:21 925刚刚做了三个文件上传的Demo a.在jsp中简单利用Comm ...
相关推荐
NULL 博文链接:https://diaochenlong2.iteye.com/blog/1829436
刚开始学struts2时,自己写的小工程。
struts2中action实现ModelDriven后无法返回json的解决方法,需要的朋友可以参考一下
Struts2_ModelDriven接收参数(项目案例及视频) 初学者必备.
ModelDriven用法 拦截器 struts2
9.1 为什么在Struts 2中使用Spring 196 9.1.1 依赖注入能做些什么 197 9.1.2 Spring如何管理对象和注入依赖 199 9.1.3 使用接口隐藏实现 200 9.2 将Spring添加到Struts 2 202 9.2.1 让Spring管理动作、拦截器和结果...
Struts2_Action学习笔记、通配符{1},{2}......
2.struts2_2 validationl,ModelDriven,properties 3.struts2_interceptor 拦截器,自定义拦截器 4.struts2_log4j 5.struts2_spring struts spring 整合 以上功能包含完整示例代码 Eclipse Java EE IDE for Web ...
自己的总结 还很不全面希望对你您有用 主要是控制url
01 Struts2-Action 5 一、 Struts作用: 5 二、 搭建Struts2的运行环境: 5 三、 Namespace 6 四、 标签 6 五、 Action 6 六、 路径问题的说明 8 七、 Action的动态调用方法 8 八、 Action通配符(wildcard)的配置 9 ...
纯Struts2 struts-2.3.16.1版本下的demo,1、Struts2标签 2、Action 3、ActionSupport中validate 4、prepare 5、modeldriven 6、国际化 7、Token 8、拦截器
01 Struts2-Action 5 一、 Struts作用: 5 二、 搭建Struts2的运行环境: 5 三、 Namespace 6 四、 标签 6 五、 Action 6 六、 路径问题的说明 8 七、 Action的动态调用方法 8 八、 Action通配符(wildcard)的配置 9 ...
传值问题 在其中取值的方法有两种: #+映射名, 直接写映射名。 1.不加#的方式获取(所有对象放置在栈顶): a.XXaction中有该字段的成员变量. b.XXaction中该对象返回个给...页面struts2标签保存的数据也需要使用#来获取
struts2的ModelDriven和Prepareable接口使用demo,包括显示数据,增加数据,删除数据和修改数据
public class UserAction implements ModelDriven{ private User user = new User(); public User getModel() { return user; } public String getUsers(){ System.out.println(user.getUserName()); ...
Spring4.0、Struts2.3.15、Hibernate4.2.4、jQuery1.9.1涉及到了诸多开发时的细节:ModelDriven、Preparable 拦截器、编写自定义的类型转换器、Struts2 处理 Ajax、OpenSessionInViewFilter、迫切左外连接、Spring ...
2.8.3 在JSP页面中使用Include指令后,JSP不能编译 2.9 精彩回顾 第3章前人栽树后人乘凉 ——、JSP内置对象 3.1 本章学习任务 3.1.1 本章知识体系 3.1.2 实例开发任务 3.2 简化开发JSP内置对象概述 3.2.1 为什么...
参考一下链接,修改了下,做了个例子 http://shiningwu.javaeye.com/blog/184117 差别在于action没有继承ModelDriven,并且把所有需要的jar包都打包了,实现了登陆,修改,删除,一览功能 工具为mysql + tomcat6
* struts2需要的jar包 * jstl 需要的jar包 * junit需要的jar包 * 包的介绍 * cn.itcast.crm.container:重新封装spring容器 * cn.itcast.crm.dao:放置的是dao接口 * cn.itcast.crm.dao.impl:放置的是dao接口...