Struts框架的数据封装二之模型驱动方式

Struts2中提供了两类数据封装的方式?
  * 第二种方式:模型驱动
  > 使用模型驱动的方式,也可以把表单中的数据直接封装到一个JavaBean的对象中,并且表单的写法和之前的写法没有区别!
        > 编写的页面不需要任何变化,正常编写name属性的值
        > 模型驱动的编写步骤:
            * 手动实例化JavaBean,即:private User user = new User();
            * 必须实现ModelDriven<T>接口,实现getModel()的方法,在getModel()方法中返回user即可!!

    1.书写RegistAction类:
package com.huida.action1;

import com.huida.domain.User;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;

/*
 * 模型驱动
 */
//实现的接口中写的类型:封装的是谁,就写谁
public class Regist3Action extends ActionSupport implements ModelDriven<User>{
    //属性驱动的时候不需要手动实例化,而模型驱动的时候必须手动实例化
    private User user=new User();
    public String execute() throws Exception{
        System.out.println(user);
        return NONE;
    }
    @Override
    public User getModel() {

        return user;
    }
}

    2.在struts.xml中进行配置:

<package name="demo" namespace="/" extends="struts-default">
        <action name="regist3Action" class="com.huida.action1.Regist3Action"></action>
    </package>

    3.写index.html表单:

<h3>模型驱动封装数据</h3>
    <form action="${ pageContext.request.contextPath }/regist3Action.action" method="post">
        姓名<input type="text" name="username"/><br/>
        密码<input type="text" name="password"/><br/>
        <input type="submit" value="注册">

    </form>

    启动服务器,运行index表单,输入姓名和密码,点击注册,在控制台输出如下表示数据封装成功:

    

 
 
 

原文地址:https://www.cnblogs.com/wyhluckdog/p/10105155.html

时间: 2024-10-11 00:20:24

Struts框架的数据封装二之模型驱动方式的相关文章

Struts——三大组件(二)RequestProcessor

RequestProcessor ActionServlet是Struts框架里唯一一个Servlet,它负责处理所有请求.它无论何时收到一个请求,都会首先试着为现有请求找到一个子应用.一旦子应用被找到,它会为其生成一个RequestProcessor对象,并调用传入HttpServletRequest和HttpServletResponse为参数的process()方法. 一.RequestProcessor.process() java代码: public void process(Http

关于Struts框架简介

一,什么是框架? 所谓框架就是提供了一组统一的接口和编程方式的可以重用组件,同时我们可以在框架中扩充我们自己的特定逻辑. 二,MVC设计模式 将应用程序分为3个部分:模型 Model,视图View,控制器Controller: 模型组件:负责业务逻辑: 模型包含应用程序的核心功能.模型封装了应用程序的状态.有时它包含的唯一功能就是状态.它对视图或控制器一无所知. 视图组件:负责表示业务范围的视图: 视图提供模型的表示.它是应用程序的 外观.视图可以访问模型的读方法,但不能访问写方法.此外,它对控

【SSH进阶之路】一步步重构MVC实现Struts框架——彻底去掉逻辑判断(五)

目录: [SSH进阶之路]Struts基本原理 + 实现简单登录(二) [SSH进阶之路]一步步重构MVC实现Struts框架--从一个简单MVC开始(三) [SSH进阶之路]一步步重构MVC实现Struts框架--封装业务逻辑和跳转路径(四) [SSH进阶之路]一步步重构MVC实现Struts框架--彻底去掉逻辑判断(五) [SSH进阶之路]一步步重构MVC实现Struts框架--完善转向页面,大功告成(六) Struts的第二篇博客[SSH进阶之路]Struts基本原理 + 实现简单登录(二

Struts中的数据处理的三种方式

Struts中的数据处理的三种方式: public class DataAction extends ActionSupport{ @Override public String execute() throws Exception { // 1. 请求数据封装: 2. 调用Service处理业务逻辑,拿到结果数据 3. 数据保存到域中 /* * // Struts中对数据操作,方式1: 直接拿到ServletApi, 执行操作 HttpServletRequest request = Serv

【SSH进阶之路】一步步重构MVC实现Struts框架——从一个简单MVC开始(三)

目录: [SSH进阶之路]Struts基本原理 + 实现简单登录(二) [SSH进阶之路]一步步重构MVC实现Struts框架--从一个简单MVC开始(三) [SSH进阶之路]一步步重构MVC实现Struts框架--封装业务逻辑和跳转路径(四) [SSH进阶之路]一步步重构MVC实现Struts框架--彻底去掉逻辑判断(五) [SSH进阶之路]一步步重构MVC实现Struts框架--完善转向页面,大功告成(六) 上篇[SSH进阶之路]Struts基本原理 + 实现简单登录(二),我们介绍MVC和

ThinkPHP第二课 框架MVC目录和URL访问方式

第二课 框架MVC目录和URL访问方式 1.说明: ThinkPHP是基于MVC的框架,认识框架目录将更好的实现分层,掌握ThinkPHP.URL访问就是访问框架的控制器(MVC中的C),共有四种方式,框架中的C起到分模块的作用. url的4种访问方式: 1.PATHINFO 模式 -- 重点!!!!!! http://域名/项目名/入口文件/模块名/方法名/键1/值1/键2/值2 2.普通模式 http://域名/项目名/入口文件?m=模块名&a=方法名&键1=值1&键2=值2

(28)初识struts框架

案例剖析中介绍了一个自己写的mystruts框架,这里开始简单的认识struts框架. 1.先看一个简单的struts开发的例子来熟悉一下流程 Struts就是基于mvc模式的框架! (struts其实也是servlet封装,提高开发效率!) Struts开发步骤: 1.web项目,引入struts - jar包 2. web.xml中,引入struts的核心功能 配置过滤器,通过配置一个过滤器来引入structs中的一些服务--org.apache.struts2.dispatcher.ng.

spring框架学习(二)依赖注入

转自:http://blog.csdn.net/lishuangzhe7047/article/details/20740835 ———————————————————————————————————————————— spring框架为我们提供了三种注入方式,分别是set注入,构造方法注入,接口注入.接口注入不作要求,下面介绍前两种方式. 1,set注入 采用属性的set方法进行初始化,就成为set注入. 1)给普通字符类型赋值. [java] view plaincopyprint? pub

commons-io在struts框架中无法获取upload.parseRequest(request)上传的文件解决方案

commons-io在struts框架中无法获取upload.parseRequest(request)上传的文件的主要原因是因为struts将request进行了封装,在文件上传时struts会将HttpServletRequest请求被转成了MultiPartRequestWrapper,所以如需使用request,则需要将struts封装好的的MultiPartRequestWrapper转换成HttpServletRequest,这里需要实行两部操作: 操作一:创建java类,继承Jak