- 浏览: 135508 次
- 性别:
- 来自: 南宁
文章分类
- 全部博客 (137)
- J2SE API基础 (19)
- JAVA Structure/Algorithm (1)
- 设计模式及UML(pd/rose) (11)
- SSH (32)
- JPA/EJB/JSF (0)
- Jsp/Servlet (1)
- XML (0)
- DWR/Dojo/JQuery(Ajax) (1)
- Js/css/HTML (3)
- Java报表开发 (0)
- 网络协议及认证加密算法 (2)
- Java多线程网络编程 (1)
- Lucence (0)
- Oracle Developer (5)
- Oracle DBA (3)
- mysql/SQLServer/DB2 (5)
- Weblogic配置/调试 (0)
- Tomcat/JBoss/Websphere (10)
- Linux/Unix操作部署及shell编程 (9)
- C/C++编程 (4)
- 系统分析 (0)
- 项目管理(CVS&风险控制) (0)
- JUnit单元和J2EE集成测试 (2)
- 软设/招聘 (6)
- IT English (8)
- Mathematics/Data Mining (1)
- Android开发爱好 (1)
- Flash制作爱好 (0)
- Professional wisdom (4)
- 序言 (1)
- 聊天记录 (0)
- 理想 (3)
- 承诺 (0)
- oifuslfjsldkj_chatrecord (1)
最新评论
-
blues1021:
dafeiwudi 写道什么叫外频和陪频啊?一般电脑都显示主频 ...
计算机组成原理和结构-时钟周期、机器周期、总线周期、指令周期含义和关系 -
dafeiwudi:
什么叫外频和陪频啊?一般电脑都显示主频,它不表示运算速递,我们 ...
计算机组成原理和结构-时钟周期、机器周期、总线周期、指令周期含义和关系
因为在struts1的版本中,属性的拦截以及控制的处理是被封装为两个对立的ActionForm、Action来获取
HttpServerRequest的参数、控制访问MAPPING的。而在Struts2中我们可以直接通过Action来获取请求参数,并把处理的
资源映射返回给struts.xml指向对应的视图资源或者模型或者控制器进行下一步的处理。发现Struts2中的
Action
负责了struts1的
ActionForm以及Action的双重任务。如果我们习惯了struts1的开发方式,在Struts中提供模型驱动的方式来分解
Action的任务,这种模式是通过专门的JavaBean来封装请求。
下面我们来比较一下:属性驱动和模型驱动的区别
一、属性驱动的例子
:
- public class Login implements Action //继承Action接口
- {
- private String username;
- private String password;
- // 在属性驱动里面是依靠getter/setter方法获存取请求参数
- public void setUsername(String username)
- {
- this .username = username;
- }
- public String getUsername()
- {
- return this .username;
- }
- public void setPassword(String password)
- {
- this .password = password;
- }
- public String getPassword()
- {
- return this .password;
- }
- // 默认的方法
- public String execute() throws Exception
- {
- return SUCCESS;
- }
- }
-
二、 模型驱动例子 - //模型使用JavaBean的设计方式
- //和Struts1的ActionForm是一样
- public class UserBean
- {
- private String username;
- private String password;
- public void setUsername(String username)
- {
- this .username = username;
- }
- public String getUsername()
- {
- return this .username;
- }
- public void setPassword(String password)
- {
- this .password = password;
- }
- public String getPassword()
- {
- return this .password;
- }
- }
- //实现Action
- public class Login implements Action,ModelDriver<UserBean> //必须继承ModelDriver 且指明具体的UserBean类型
- {
- private UserBean model = new UserBean();
- public String execute() throws Exception
- {
- if (getMode().getUsername().equals( "scott" )
- && getMode().getPassword().equeals("tiger" ) )
- {
- return SUCCESS;
- }
- else
- {
- return ERROR;
- }
- }
- p ublic UserBean getModel()
- {
- return model;
- }
- }
其实,模型驱动必须实现ModelDriver接口,以及必须实现getMode()方法,该方法把Action和以及对应的Model实例关联。
配置属性驱动和模型驱动的方式一样,在struts.xml文件中配置对应的Action即可,那他怎么实现的?
那么,我们要看到
Struts2是一个拦截器为核心的框架
,在struts_default.xml文件里面可以发现对应的拦截器的设置。
三、在JSP页面访问的区别:
而我们在属性驱动模型下在JSP中访问属性时:
<s:property value="username">
而在模型驱动模型下在JSP中访问属性时:
<s:property value ="model.usename">
但是,Struts2会自动识别使用何种驱动模式,省略model.系统仍能自动会关联到model.username的属性值。
四、选择属性驱动和模型驱动的问题:
当JSP表单的属性和
数据持久层对象的数据成员一致
的话就用strut2的模型驱动,代码统一。
当表单的属性和数据持久层对象的数据成员不一致的话就用属性驱动,因为如果用模型驱动要两个bean,一个与数据持久层对象,一个与提交的表单对应。
发表评论
-
Unity3DHouse中成功删除信息
2011-08-10 01:12 779//在jsp页面传入的参数在Action类中调用deleteH ... -
hibernate3.0中实现修改数据记录
2011-08-10 01:11 6581.查询页面中传入参数: <a href=& ... -
Unity3DHouse4项目save(object1)到库问题的解决
2011-08-10 01:10 6641.添加时点击没有任何响应和提示,google了一遍有说是 ... -
Unity3DHouse4系统未解问题
2011-08-10 01:08 7471.struts1.2+spring 2.2+Hibern ... -
Struts表单提交的text String数据可以作为HQL中的Integer类型处理
2011-08-10 01:06 8351.传入数据的表单中的声明 :<form metho ... -
6月28日房产的登录模块报错
2011-08-10 01:04 7831.JSP语法报错 exception org.ap ... -
struts的jsp Action中传入EL表达式参数及myeclipse操作技巧(涛)
2011-08-10 01:03 8241.<a href="/searchBuild ... -
Struts标签之Cannot find bean under name org.apache.struts.taglib.html.BEAN错误
2011-08-10 01:02 1238Cannot find bean under name ... -
【转】关于在HQL中的模糊查询问题
2011-08-10 01:02 732来自:20 ... -
Struts中的Action二次请求不认路径../的解决方法
2011-08-10 01:00 804地址栏没有了项目名称:http://localhost:808 ... -
myEclipse项目部署问题之解决方法
2011-08-10 00:58 960myeclipse下工程: 1.安装myclipse时6.5 ... -
Hibernate注释中的参照完整性和复合主键类解析
2011-08-10 00:57 996在引入了或声明了相关表或类后就能够使用它下面的方法,例如: ... -
【转】hibernate的@EmbeddedId嵌入式主键类详解
2011-08-10 00:56 1000复合主键也可以采用 ... -
Spring 2.*有注释的配置文件中各层配置详解
2011-08-10 00:55 821<?xml version="1.0" ... -
Spring 2.5注释程序执行过程和融合xml使用
2011-08-10 00:54 781Spring2.5注释 一、加载Spirng容器,在web. ... -
【转】Struts2注解使用解析
2011-08-10 00:54 772如果希望使用 struts2 ... -
《转》struts.xml 模块化管理
2011-08-10 00:52 782... -
《转改》Struts2和Spring的集成原理
2011-08-10 00:50 6532009年09月02日 星期三 下午 ... -
房产销售系统的服务器配置问题?
2011-08-10 00:48 673Tomcat在外面的安装时抛出404找不到资源,测试后 ... -
《学生选课系统课程设计》提交过程的感悟
2011-08-10 00:46 733今天去提交数据库课程设计,昨晚把数据库安装了一晚JDK,m ...
相关推荐
如果你是用模型驱动,或者是直接把属性写在action里面,你不会碰到我遇到的那么多问题。 但是你用模型驱动好吗,如果一个页面需要处理多个对象的时候怎么办。 如果你直接把属性写在action里面,当一个对象有20个...
本文档主要记录了struts2的属性驱动和模型驱动的区别,以及防止表单重复提交,另外增加了验证信息的正确位置的显示,希望对你有所帮助!
参考博文:http://blog.csdn.net/u011638419/article/details/41378515
struts数据回显、模型驱动、防止表单重复提交
Struts2的配置文件、Struts2的Action介绍、 一个Action内包含多个请求处理方法的处理、处理结果、属性驱动和模型驱动、异常处理机制等。。。
servlet模板,JavaDoc视图的使用,局部类型转换器步骤 ,全局类型转换器 ---对所有的Action类有效,模型驱动,数据校验,struts2校验介绍,校验分类,包的总结,开发的核心类库
知识点:struts2,struts2模型驱动,Java反射,struts2插件使用,struts2与JFreeChart的集成开发,JFreeChart图表 1、开发环境:MyEclipse6.0, Struts 2.0.11, JFreeChart 1.0.9, JCommon 1.0.12,struts2-jfreechart...
struts2知识点:处理流程,基本配置,与servlet的API解耦,结果类型,通配符和动态方法的调用,类型转换,文件上传,拦截器,表单验证,国际化,OGNL表达式,UI标签,模型驱动,防止表单重复提交,项目练习知识点:...
Struts2.0深入学习 命名空间,模型驱动,表单重复提交实例 博文链接:https://zmx.iteye.com/blog/463118
表单数据与bean的属性映射的原理,对Struts2模型驱动的理解有帮助。
知识点:struts2,struts2模型驱动,Java反射,struts2插件使用,struts2与JFreeChart的集成开发,JFreeChart图表 1、开发环境:MyEclipse6.0, Struts 2.0.11, Spring2.5.4, struts2-spring-plugin-2.0.11.1,...
(2)模型驱动方式 (3)对象驱动方式 one by one 属性驱动方式 /* * 参数获取方式之属性驱动方式 */ public class TestAction extends ActionSupport { //设置与表单项相对应的属性,并设置set,get方法 ...
面向请求驱动的struts2.Struts 是基于 Model 2 之上的,而 Model 2 是经典的 MVC(模型-视图-控制器)模型的 Web 应用变体,这个改变主要是由于网络应用的特性 --HTTP 协议的无状态性引起的。
很适合初学者学习! 自定义默认栈 Struts2的跳转Result的类型 在Interceptor中注入Spring管理的对象
11模型驱动 4 12.创建拦截器 5 13表单提交中文乱码问题 5 14.Jsp不能识别EL 5 15.自定义标签中访问Dao 获取dao 6 16.标签获取参数 6 17.Action之间传递错误验证信息 6 18第一个Ajax例子 Ajax+struts2 6 8.标签 7 8....
SpringMVC 是一种基于 Java 的实现 MVC 设计模型的请求驱动类型的轻量级 Web 框架,属于SpringFrameWork 的后续产品,已经融合在 Spring Web Flow 中。 SpringMVC 已经成为目前最主流的MVC框架之一,并且随着Spring...
这里,我将简要地介绍下 Struts 架构与模型-视图-控制器(MVC),如果您以前没碰到过,那么您应该在后面先看下 参考资料 部分来获取更多信息。 MVC 模式:分离开发角色 MVC 设计模式很清楚的划定了程序员与...
Struts和JSF/Tapestry都属于表现层框架,这两种分属不同性质的框架,后者是一种事件驱动型的组件模型,而Struts只是单纯的MVC模式框架,老外总是急吼吼说事件驱动型就比MVC模式框架好,何以见得,我们下面进行详细...
86.3 驱动模型ModelDriven 8.7 实战检验 8.7.1 Struts2处理表单数据 8.7.2 使用M印类型的request、session、application 8.8 疑难解惑 8.8.1 Struts Prepare And Execute Filter过滤器 8.8.2 struts.xml文件配置出错...
2.3 模型驱动................................................................................................................11 2.3.1 模型..................................................................