• request带着参数来,aciton对其进行处理。在学习action之前,使用的是servlet对request进行处理。request请求时会带有参数,所以我们要对这些参数进行封装。
1. 为什么要使用数据的封装呢?
* 作为MVC框架,必须要负责解析HTTP请求参数,并将其封装到Model对象中
* 封装数据为开发提供了很多方便
* Struts2框架提供了很强大的数据封装的功能,不再需要使用Servlet的API完成手动封装了!! 2. Struts2中提供了两类数据封装的方式?
* 第一种方式:属性驱动(有两种方式:封装参数,另外一个是将参数封装到javaBean中)
A. 提供对应属性的set方法进行数据的封装。(封装参数)(属性驱动中用的最多的是封装参数,而不是封装javaBean)
* 表单的哪些属性需要封装数据,那么在对应的Action类中提供该属性的set方法即可。
* 表单中的数据提交,最终找到Action类中的setXxx的方法,最后赋值给全局变量。
            * 注意0:Struts2的框架采用的拦截器完成数据的封装。
* 注意1:这种方式不是特别好:因为属性特别多,提供特别多的set方法,而且还需要手动将数据存入到对象中.
* 注意2:这种情况下,Action类就相当于一个JavaBean,就没有体现出MVC的思想,Action类又封装数据,又接收请求处理,耦合性较高。
      1.书写index.jsp表单:
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body> <h3>属性驱动封装数据</h3>
<form action="${ pageContext.request.contextPath }/regist1Action.action" method="post">
姓名<input type="text" name="username"/><br/>
密码<input type="text" name="password"/><br/>
<input type="submit" value="注册"> </form>
</body>
</html>

      2.写对应的RegistAction类:

package com.huida.action1;

import com.opensymphony.xwork2.ActionSupport;

public class Regist1Action extends ActionSupport{

    private String username;
private String password; public void setUsername(String username) {
this.username = username;
} public void setPassword(String password) {
this.password = password;
}
//以前封装数据是先通过get方法获取参数然后再进行封装。
//现在struts已经给我们封装好了,我们只需要按照他的规则写就ok了:定义变量,对应的set方法就可以了
@Override
public String execute() throws Exception { System.out.println(username+"..."+password);
return NONE;
}
}

      3.对书写的action进行配置,注意这里action标签中name的值应该与jsp页面中写的跳转地址相同,否则会报错:

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

      4.运行index.jsp文件,在表单中输入姓名和密码,点击注册,在控制台输出:

      
 

Struts2框架的数据封装一之属性封装(属性封装的第一种方式:对参数进行封装)的更多相关文章

  1. Struts2框架的数据封装一之属性封装(属性封装的第二种方式:封装成javaBean)

    Struts2中提供了两类数据封装的方式? 第一种方式:属性驱动(有两种方式:一个对属性,另外一个是将参数封装到javaBean中) B. 在页面上,使用OGNL表达式进行数据封装.(将参数封装到ja ...

  2. Spring整合Struts2框架的第一种方式(Action由Struts2框架来创建)。在我的上一篇博文中介绍的通过web工厂的方式获取servcie的方法因为太麻烦,所以开发的时候不会使用。

    1. spring整合struts的基本操作见我的上一篇博文:https://www.cnblogs.com/wyhluckdog/p/10140588.html,这里面将spring与struts2 ...

  3. 通过属性 Cesium的FBO主要支持两种方式

    角色其实就是一类权限的分组,所以给用户分配角色其实也是在给用户分配权限.在oracle中有三个比较常用的角色.对于一般不是很严格的系统可以授予开发用户CONNECT.RESOURCE角色权限即可. 其 ...

  4. 《连载 | 物联网框架ServerSuperIO教程》- 10.持续传输大块数据流的两种方式(如:文件)

    1.C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍 <连载 | 物联网框架ServerSuperIO教程>1.4种通讯模式机制. <连载 | 物联网框架Serve ...

  5. 解决mybatis中 数据库column 和 类的属性名property 不一致的两种方式

    解决方式way1:resultMap (1)studentMapper.xml <!-- 当数据库的字段名 和 类的属性名 不一致的时候的解决方式:2种 way1--> <selec ...

  6. flask框架(二)——flask4剑客、flask配置文件的4种方式

    之前学习的Django有必备三板斧:render,HttpResponse,redirect,JsonResponse 在flask也有,但是有些不同 一.Flask4剑客 1.直接返回字符串(ret ...

  7. 7.Struts2框架封装数据

    Struts2框架提供了很强大的数据封装的功能,不再需要使用Servlet的API完成手动封装了!! 第一种方式:属性驱动 > 提供对应属性的set方法进行数据的封装.--经常使用 * 表单的哪 ...

  8. struts2框架学习笔记4:获取参数

    第一种参数获取方式: 编写一个前端页面,提交表单,做示例: <form action="${pageContext.request.contextPath}/Demo1Action&q ...

  9. (jquery+ajax)省市区三级联动(封装和不封装两种方式)-----2017-05-14

    首先,要实现如下图效果, 1.要理清思路: 先做出三个下拉菜单----根据第一个下拉菜单的value值获取第二个下拉列表的内容,第三个同理. 2.用到的数据库表:Chinastates表 规律:根据国 ...

随机推荐

  1. 使用hibernate与mysql时数据不能插入的原因及解决办法

    1.背景 之前从没用过hibernate,因此在网上搜了一下hibernate快速入门方面的信息,最后我按照<Myeclipse Hibernate 快速入门 中文版>(CSDN,百度文库 ...

  2. Haskell语言学习笔记(73)Existentials

    Existentials(存在类型) Existentially quantified types(Existentially types,Existentials)是一种将一组类型归为一个类型的方式 ...

  3. C# WINFORM 打包数据库

    实现效果:安装项目时直接附加数据库. 1.首先在需要部署的项目的解决方案资源管理器中新建一个安装项目   2.在安装项目的文件视图中,右键[应用程序文件夹]->[添加]->[项目输出]   ...

  4. Nodejs 菜鸟教程学习-创建第一个应用

    注:为了解学习,都是参照http://www.runoob.com/nodejs/nodejs-tutorial.html书写,做下笔记. 对于Nodejs开发来说,在开发一个应用时,我们不仅仅是实现 ...

  5. js对象和jquery对象互相转换

    javascript对象转成jquery对象 jquery对象转成javascript对象

  6. Ubuntu Spark 环境搭建(转)

    在安装Spark之前,我们需要在自己的系统当中先安装上jdk和scala 可以去相应的官网上下载: JDK:http://www.oracle.com/technetwork/java/javase/ ...

  7. canu软件文献

    1)背景 组装:短的reads通过overlap来组装成contig 局限性:repeat 大于overlap导致ambiguous reconstructions and fragment the ...

  8. git库初次下载

    1.右键Git Batch Here==>输入 git config --list 确认2.再次输入ssh-keygen -t rsa -C “修改后的邮箱” 3.回车多次 找到 生成序列目录 ...

  9. js中的arguments对象

    在Javascript中没有函数重载,而arguments对象弥补了这点不足. js函数的参数是一个数组,在参数个数不固定的情况下,只需要给方法传递不同元素个数的数组即可.即使声明函数时没有形式参数, ...

  10. 【Scheme】符号求导

    思路: 定义一个求导算法, 令其在抽象对象上执行求导操作. 可以由以下规约规则完成: dc/dx=0 dx/dx=1 d(u+v)/dx=du/dx+dv/dx d(uv)/dx=u(dv/dx)+v ...