接触Struts2的ModelDriven<>接口】的更多相关文章

最近在学SSH框架,实战项目,用到了Struts2的ModelDriven<>接口,在这做一点记录 ModelDriven,意为模型驱动,意思是直接把实体类当成页面数据的收集对象 参考他人的博客和自己的实践,在这有一点笔记 以User,userAction,JSP页面为例,具体例子抄的他人博客,自己第一次接触博客不会弄格式 实体类User例子如下: public class User { private int id; private String username; private Stri…
若没有实现ModelDriven的接口,Controll的代码会比较冗余,不能实现Controll和Model代码的分离 下面是没有实现ModelDriven接口的SuggestAction package dayday.controll; import com.opensymphony.xwork2.ActionSupport; import com.opensymphony.xwork2.ModelDriven; import dayday.model.Product; import day…
一.属性驱动 在目标 Action 类中,通过 setXxx() 方法来接收请求参数. 二.模型驱动 1.ParametersInterceptor 拦截器工作原理 ParametersInterceptor 会将请求参数赋值给值栈中栈顶的对象.默认情况下,栈顶对象是目标 Action 类. 2.modelDriven 拦截器工作原理 获取目标 Action 对象,判断是否实现了 ModelDriven 接口,若实现,则调用目标 Action 的 getModel(),将该方法返回的对象压入栈顶…
今天做毕业设计,前台往后台赋值,习惯性的用了modelDriven.但是刚写完就奇怪它的机理是怎样的,它怎么知道我前台传的参是哪个Model的属性(之前用servlet都是手动),于是手贱的ctrl点进去,简单了解了一下 之前记得要使用modelDriven必须使用modelDriven的拦截器,但是我没加这个拦截器也实现了功能,看默认拦截器defaultStack原来所谓的默认拦截器就是一系列拦截器的集合 看modelDriven的源码可以看到 @Override public String…
它是Struts2种独有的一种接收用户输入的机制,想在项目中使用模型驱动 (ModelDriven)需要让Action实现com.opensymphony.xwork2.ModelDriven 接口,使用它 的getModel()方法来通知Struts2要注入的属性类型,并且声明属性时一定要实例化,但不需get, set方法.…
struts2 ModelDriven & Prepareable 拦截器 前面对于 Struts2 的开发环境的搭建.配置文件以及 Struts2 的值栈都已经进行过叙述了!这次博文我们讲解利用 Struts2 进行 CURD 操作,体验和 Servlet 的不一样,以此案例理解 ModelDriven 和 Prepareable 拦截器! 案例流程 获取数据库数据并将之显示在 employee-show.jsp 页面上 在 employee-show.jsp 页面可以添加员工信息到数据库,对…
在Struts 2中,提供了另外一种直接使用领域对象的方式,就是让action实现com.opensymphony. xwork2.ModelDriven接口.ModelDriven让你可以直接操作应用程序中的领域对象(模型对象),允许你在Web层和业务逻辑层使用相同的对象. ModelDriven接口中只有一个方法,如下: public T getModel() 该方法返回一个用于接收用户输入数据的模型对象. 在页面中,这个模型对象中的属性可以直接通过属性名来访问(如username),而不需…
http://www.cnblogs.com/luoyanli/archive/2012/11/20/2778361.html 我们可以根据Action属性的不同将它分为两类:Field-Driven(属性驱动)Action和Model-Driven(模型驱动)Action. 一.Field-Driven(属性驱动)Action,Action拥有自己的属性,这些属性一般是Java的基本类型.表单字段直接和Action的属性对应. 二.实现了modelDriven接口可以在action中直接获得例…
在Struts 2中,提供了另外一种直接使用领域对象的方式,就是让action实现com.opensymphony. xwork2.ModelDriven接口.ModelDriven让你可以直接操作应用程序中的领域对象(模型对象),允许你在Web层和业务逻辑层使用相同的对象. ModelDriven接口中只有一个方法,如下: @override public T getModel(); 该方法返回一个用于接收用户输入数据的模型对象. 在页面中,这个模型对象中的属性可以直接通过属性名来访问(如us…
以UserAction为例,当UserAction实现了ModelDriven接口之后,与该接口相关的默认配置的拦截器会在拦截请求之后判断该请求是将要被UserAction处理而且UserAction实现了ModelDriven接口,因此就会在执行UserAction的相应方法之前,调用getModel方法,将UserAction中的Model类(比如Use)r的对象(假设为u)压入ValueStack中,作为root对象.这时候如果提交的表单或者url中传值过来,比如username,pass…