Struts2中属性驱动与模型驱动】的更多相关文章

属性驱动: 1.概念 能够利用属性驱动获取页面表单元素的内容 2.步骤 1.在action中声明属性,属性的名称和页面元素中name属性的值保持一致 2.action中的属性必须有set和get方法 LoginAction.java: public class LoginAction extends ActionSupport implements ModelDriven<User>{ private User mdoel = new User(); @Override public User…
1.Struts2的属性驱动. Struts2的属性驱动指的是在action中JSP页面的每一个form中的name都对应在action中有一个属性与之对应.看下面代码片段: <form action="register.do" name="RegisterForm" method="post"> Username:<input type="text" name="uname">&l…
1.Struts2的属性驱动 在Action类中,属性××通过get××()和set××()方法,把参数在整个生命周期内进行传递,这就是属性驱动 代码如下: package org.abu.csdn.action.user; import com.opensymphony.xwork2.ActionSupport; public class RegisterAction extends ActionSupport {  //首先类RegisterAction 必须继承ActionSupport…
1.属性驱动 a\  一般的set public class UserAction extends ActionSupport { private String username; private String password; public void setUsername(String username) { this.username = username; } public void setPassword(String password) { this.password = pass…
一.概述 所谓模型驱动,就是使用单独的JavaBean实例贯穿整个MVC流程,与之相对应的属性驱动方式,则使用属性作为贯穿MVC流程的信息携带者.属性无法独立存下,它必须依附于一个对象,这个对象就是Action实例.简单来说,模型驱动使用单独的值对象来封装请求参数和处理结果,属性驱动则使用Action实例来封装请求参数和处理结果. 二.应用实例 以前文提到的LoginAction为例,在属性驱动中的action为: public class LoginAction extends ActionS…
strus2中获取表单数据 两种方式 属性驱动 和模型驱动 属性驱动 /** * 当前请求的action在栈顶,ss是栈顶的元素,所以可以利用setValue方法赋值 * 如果一个属性在对象栈,在页面上可以根据name属性进行回显 */ /** * 属性驱动实现的条件: * 1.当前请求的action在栈顶,所以action中的属性就暴漏出来了 * 2.获取页面上表单的元素,整合成一个map * 3.调用setValue方法赋值 */ package cn.itcast.struts2.sh;…
为什么要使用属性驱动和模型驱动 struts2与struts很大的不同点在于,struts的execute方法提供了HttpServletRequest和HttpServletResponse方法在获取客户端提交的数据信息的时候需要使用HttpServletRequest的getParameter()方法,并且还需要进行必要的数据类型转换.如何客户端提交的数据量大的时候,我们则需要写很多的getParameter方法.这样代码量就相应的增加不少.但是struts2为我们提供了属性驱动和模型驱动,…
模型驱动使用单独的VO(值对象)来封装请求参数和处理结果,属性驱动则使用Action实例来封装请求参数和处理结果. 一.使用模型驱动 1.login.action采用模型驱动模式实现,采用模型驱动时必须提供对应的模型,该模型就是一个普通的javabean. UserBean.java 1: package cc.openhome; 2: public class UserBean { 3: private String username; 4: private String password;…
PS:今天上午,非常郁闷,有很多简单基础的问题搞得我有些迷茫,哎,代码几天不写就忘.目前又不当COO,还是得用心记代码哦! 一:如果表单提交数据中有中文时,尽量应用post方式. 需要在Struts.xml配置文件中参加一个常量配置,如下: <struts> <constant name="struts.devMode" value="true" /> <constant name="struts.i18n.encoding&…
1.新建空项目,并托管到码云 2.设立maven 3.设置pom.xml 4.建包 5.在java包里建立两个类 package com.nf.entity; public class User { private String userName; private String userPassword; public String getUserName() { return userName; } public void setUserName(String userName) { this…
属性驱动模型的作用: 因为struts2与servlet API 实现了解耦,无法直接使用HttpServlet Request对象获取表单提交的参数,但Struts2提供了属性驱动模型机制来解决这个问题. struts2的属性驱动模型指的是在JSP页面的每一个form中的name都在action中有一个属性与之对应. 常用的属性驱动模型有: form表单封装在javabean对象中 form表单封装在list集合中 页面用 username<input type="text"…
1.    深入Struts2的配置文件 本部分主要介绍struts.xml的常用配置. 1.1.    包配置: Struts2框架中核心组件就是Action.拦截器等,Struts2框架使用包来管理Action和拦截器等.每个包就是多个Action.多个拦截器.多个拦截器引用的集合. 在struts.xml文件中package元素用于定义包配置,每个package元素定义了一个包配置.它的常用属性有: l name:必填属性,用来指定包的名字. l extends:可选属性,用来指定该包继承…
一.Result结果配置 1.全局和局部结果 ​ 平常我们设置跳转页面,是在action标签里面加上 result标签来控制,这种设置的页面跳转,称之为局部结果页面但是我们有时候在很多个action里面,针对不同的结果进行跳转时,也有可能跳转同一个页面,那么这个时候就可以配置全局结果页面. 1.1局部结果 在action里面写上的result跳转的页面,称之为局部结果页面配置 <action name="demo01_*" class="com.pri.web.acti…
出于结构清晰的考虑,应该采用单独的Model实例来封装请求参数和处理结果,这就是所谓的模型驱动, 所谓模型驱动,就是使用单独的JavaBean来贯穿整个MVC流程. 所谓属性驱动,就是使用属性来作为贯穿MVC流程的信息携带者,当然属性必须依附于对象, 这个对象就是Action实例. 简单说,模型驱动就是使用单独的javaBean封装请求参数. 属性驱动就是把属性写在Action类中. 我们发现上一章的jsp中的name必须前面得加 user.username..太过麻烦.我们使用模型驱动来解决这…
模块的规范化我们已经做完了,下面我们要做我们的功能了. 如果是模型驱动就是name="对应model的name" 如果用属性驱动的话,必须得把表现层(Action类)里面映射的用于封装数据的这个对象名给我写上 jsp那里就是em.了 有关这一块的封装课改在提,以后再讲. empAction在struts.xml中写过,empAction是伪类名,伪类名读的是Spring的东西.Spring把那个类加载成它的bean以后提供一个名用它调了. 证明applicationContext-em…
Struts2 中result type属性说明 首先看一下在struts-default.xml中对于result-type的定义: <result-types><result-type name="chain" class="com.opensymphony.xwork2.ActionChainResult"/><result-type name="dispatcher" class="org.apac…
Struts2中Action取得表单数据的几种方法   Struts2中Action获得表单数据的几种方法struts2 Action获取表单传值 1.通过属性驱动式JSP: <form action="sys/login.action" method="post"> <input type="text" name="username"> <input type="submit"…
详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt112 Struts2中Action接收参数的方法主要有以下三种: 1.使用Action的属性接收参数:     a.定义:在Action类中定义属性,创建get和set方法:     b.接收:通过属性接收参数,如:userName:     c.发送:使用属性名传递参数,如:user1!add?userName=Magci: 2.使用DomainModel接收参数:   …
ActionContext包含其他数据对象,包括值栈     每次请求都会创建一个ActionContext对象 通过ActionContext访问数据 在action中读取  在jsp页面中读取 1.获得session域对象 2.获得application Map<String,Object>   applicationScope=ActionContext.getContext().getApplication() 3.获得request对象 Map<String,Object>…
Struts2中Action接收參数的方法主要有下面三种: 1.使用Action的属性接收參数:(通过属性驱动式)     a.定义:在Action类中定义属性,创建get和set方法.     b.接收:通过属性接收參数,如:userName.     c.发送:使用属性名传递參数,如:user1!add?userName=Magci: JSP: <form action="sys/login.action" method="post">  <i…
Struts2对数据的类型转换 一.Struts2中自带类型转换拦截器 Struts2内部提供了大量转换器,用来完成数据类型转换的问题,有如下 * boolean 和 Boolean * char和 Character * int 和 Integer * long 和 Long * float 和 Float * double 和 Double * Date 可以接收 yyyy-MM-dd 格式字符串 * 数组 可以将多个同名参数,转换到数组中 * 集合 支持将数据保存到 List 或者 Map…
Struts2当中数据封装的三种机制:属性驱动.标签驱动.模型驱动.下面来一一介绍. 一.属性驱动 1.需要提供对应属性的set方法进行数据的封装. 2.表单的哪些属性需要封装数据,那么在对应的Action类中提供该属性的set方法即可. 3.表单中的数据提交,最终找到Action类中的setXxx的方法,最后赋值给全局变量. 4.注意:Struts2的框架采用的拦截器完成数据的封装. 5.注意:这种方式不是特别好:因为属性特别多,提供特别多的set方法,而且还需要手动将数据存入到对象中. 6.…
Struts2中Action接收参数的方法主要有以下三种: Struts2中Action接收参数的方法主要有以下三种: 1.使用Action的属性接收参数:     a.定义:在Action类中定义属性,创建get和set方法:     b.接收:通过属性接收参数,如:userName:     c.发送:使用属性名传递参数,如:user1!add?userName=Magci: 2.使用DomainModel接收参数:     a.定义:定义Model类,在Action中定义Model类的对象…
文件上传功能在Struts2中得到了很好的封装,主要使用fileUpload上传组件. 1. 单个文件上传 1.1 创建上传单个文件的JSP页面.显示提交结果的JSP页面 uploadTest1.jsp <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <%@ page isELIgnored="false"%> &…
一.通过ActionContext类获取 public class ActionContextDemo extends ActionSupport {    @Override    public String execute() throws Exception {        //获取ActionContext对象        ActionContext context = ActionContext.getContext();        //调用getParameters对象获取参…
在jsp页面提交到action中的表单元素在action中是以对象的形式存在的, action中的对象name必须与jsp页面中的表单元素name相同,struts框架自动为action的对象赋值. 一.普通驱动 注意:action中的对象name必须与jsp页面中的表单元素name相同,struts框架自动为action的对象赋值. 案例: struts.xml文件: <?xml version="1.0" encoding="UTF-8"?> <…
struts2二次参数拦截器内容: 规定了请求的执行顺序 在struts2中,其拦截器为框架精华部分,而二次参数拦截器paramsPrepareParamsStack  对于解决数据回显,对象修改属性丢失的问题悠着很良好的处理机制. 在 struts-default.xml 中的默认拦截器配置中有以下部分(可自行查找源码,通常为:struts-2.5.2\src\core\src\main\resources): <interceptor-stack name="paramsPrepare…
在struts2中action的分类有:继承 ActionSupport 实现 Action,模型驱动(ModelDriven)的 Action,多方法的 Action三种方式. 1.继承 ActionSupport 实现 Action 通过继承 ActionSupport 来实现 Action 是我们的推荐做法,因为 ActionSupport 中提供了输入验证.国际化.execute 等常用方法,使得编写 Action 时代码很简单. 1.1 UserAction.java package…
1.环境搭建: 三个准备+7个步骤 准备1:新建项目并添加hibernate依赖的jar文件  准备2:在classpath下(src目录下)新建hibernate的配置文件:hibernate.cfg.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configurati…
Struts2.3.4 所需的Jar包及介绍 Jar包的分类 jar包名称 jar包版本 jar包 文件名 jar包 的作用 jar包内包含的主要包路径及主要类 依赖的自有jar包名称 依赖的第三方jar包名称 本jar包是否为第三方包 Struts 2.3.4 的 核 心 包 struts2-core -2.3.4.jar 2.3.4 struts2-core -2.3.4 struts2的核心包 org.apache.struts2.dispatcher.ng.filter.StrutsPr…