Struts2请求数据自动封装和数据类型转换

方式1:jsp表单数据填充到action中的属性;

方式2:jsp表单数据填充到action的对象的属性;



方式1:

第一步:引包,省去

第二步:配置struts2的过滤器

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
 3   <display-name>struts2_20170221</display-name>
 4   <welcome-file-list>
 5     <welcome-file>index.html</welcome-file>
 6     <welcome-file>index.htm</welcome-file>
 7     <welcome-file>index.jsp</welcome-file>
 8     <welcome-file>default.html</welcome-file>
 9     <welcome-file>default.htm</welcome-file>
10     <welcome-file>default.jsp</welcome-file>
11   </welcome-file-list>
12
13   <!-- struts2过滤器 -->
14   <filter>
15       <!-- 过滤器名称 -->
16       <filter-name>struts2</filter-name>
17       <!-- 过滤器类 -->
18       <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
19   </filter>
20   <!-- struts2过滤器映射 -->
21   <filter-mapping>
22       <!-- 过滤器名称 -->
23       <filter-name>struts2</filter-name>
24       <!-- 过滤器映射 -->
25       <url-pattern>/*</url-pattern>
26   </filter-mapping>
27
28 </web-app>

第三步:开发Action

 1 package com.bie.type;
 2
 3 import java.util.Date;
 4
 5 import com.opensymphony.xwork2.ActionSupport;
 6
 7 /**
 8 * @author BieHongLi
 9 * @version 创建时间:2017年2月21日 下午8:39:13
10 * Struts2的核心业务,请求数据自动封装和类型转换
11 * 这个继承不继承即可extends ActionSupport,习惯继承了
12 */
13 public class TypeAction extends ActionSupport{
14
15
16     private static final long serialVersionUID = 1L;
17     private String name;
18     private String password;
19     private int age;
20     private Date birthday;//Date日期类型,导入的utilsl类型的
21
22     //普通的成员变量,必须给set,get可以不给的。
23     public String getName() {
24         return name;
25     }
26     public String getPassword() {
27         return password;
28     }
29     public int getAge() {
30         return age;
31     }
32     public Date getBirthday() {
33         return birthday;
34     }
35
36
37     //处理注册请求,String类型的,不能带参数的
38     public String register() {
39         System.out.println(name+" "+password+" "+age+" "+birthday);
40         return SUCCESS;
41     }
42 }

第四步:配置struts.xml

<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"    "http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>        <!-- 声明包 -->    <package name="finalPackage" extends="struts-default">        <action name="requestAction" class="com.bie.finalImpl.FinalAction">            <result name="success">success.jsp</result>        </action>                <action name="ImplAction" class="com.bie.finalImpl.ImplAction">            <result name="success">success.jsp</result>        </action>                <action name="type_*" class="com.bie.type.TypeAction" method="{1}">            <result name="success">show.jsp</result>        </action>    </package>    </struts>

第五步:注册页面index.jsp

 1 <%@ page language="java" contentType="text/html; charset=UTF-8"
 2     pageEncoding="UTF-8"%>
 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 4 <html>
 5 <head>
 6 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 7 <title>表单提交的页面</title>
 8 </head>
 9 <body>
10 <form action="${pageContext.request.contextPath}/type_register.action" method="post">
11     账号:<input type="text" name="name"/>
12     密码:<input type="password" name="password"/>
13     年龄:<input type="text" name="age"/>
14     出生:<input type="text" name="birthday"/>
15     <input type="submit" value="注册"/>
16 </form>
17 </body>
18 </html>

第六步:显示页面show.jsp

 1 <%@ page language="java" contentType="text/html; charset=UTF-8"
 2     pageEncoding="UTF-8"%>
 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 4 <html>
 5 <head>
 6 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 7 <title>显示的页面</title>
 8 </head>
 9 <body>
10 <h1>Struts2的进行数据封装和类型转换的使用</h1>
11 </body>
12 </html>
时间: 2024-10-15 06:08:15

Struts2请求数据自动封装和数据类型转换的相关文章

struts中的请求数据自动封装

Struts 2框架会将表单的参数以同名的方式设置给对应Action的属性中.该工作主要是由Parameters拦截器做的.而该拦截器中已经自动的实现了String到基本数据类型之间的转换工作.在struts中,默认使用拦截器 <interceptor name="params" class="com.opensymphony.xwork2.interceptor.ParametersInterceptor"/> 进行请求数据自动封装,它会JSP中提交的

Struts2学习(二)——数据自动封装和自动传递

第一点:method属性学习 可以在一个action(MethodAction)里,定义多个方法method1().method2()(类比execute方法)返回String字符串. 再在package中写入与method对应的action请求url,在每个action标签里的result标签里name对应为返回的字符串作为接收, type属性默认为dispatcher,再返回JSP页面. 第二点:数据自动封装和自动传递 表单提交的属性值(name值)要与action里定义的属性(privat

Struts2,get/set 自动获取/设置数据ActionSupport 类

主页:http://struts.apache.org/在用户请求和模块化处理方面以及页面的展现这块,Struts2 发挥了强大的作用:相对于传统的Jsp+Servlet 模式,Struts2 更适合企业级团队开发,方便系统的维护: Struts2 HelloWorld <filter> <filter-name>Struts2</filter-name> <filter-class> org.apache.struts2.dispatcher.ng.fil

struts-基础内容-6-数据的自动封装和类型转换

请求数据的自动封装 实现的原理-参数处理拦截器 <interceptor name="staticParams" class="com.opensymphony.xwork2.interceptor.StaticParametersInterceptor"/> 方式1.jsp表单数据填充到action中的属性 <%-- Created by IntelliJ IDEA. User: cxspace Date: 16-7-9 Time: 下午11:3

Struts2学习(二)———— 表单参数自动封装和参数类型自动转换

前篇文章对struts2的一个入门,重点是对struts2的架构图有一个大概的了解即可,之后的几篇文章,就是细化struts2,将struts2中的各种功能进行梳理,其实学完之后,对struts2的使用不外乎这几点,参数自动封装,拦截器的使用,数据校验,ognl表达(值栈和actionContext的讲解),struts2的标签,struts2的国际化,struts2的文件上传下载. 把这几个功能都学会了使用之后,struts2基本上就学完了.所以接下来的文章就是对这几个功能进行讲解.如何使用.

【Paddy】如何将物理表分割成动态数据表与静态数据表

前言 一般来说,物理表的增.删.改.查都受到数据量的制约,进而影响了性能. 很多情况下,你所负责的业务关键表中,每日变动的数据库与不变动的数据量比较,相差非常大. 这里我们将变动的数据称为动态数据,不变动的数据称为静态数据. 举个例子,1张1000W的表,每日动态数据只有1W条,999W条的数据都为静态.往往select或者重复改变的数据都在动态数据中.比如订单表. 所以,如果将动态数据库从表中剥离出来,分割两张表,一张动态数据表,一张静态数据表,从数据量的角度来看,性能是不是就会自然提高了?

Web自动化框架之五一套完整demo的点点滴滴(excel功能案例参数化+业务功能分层设计+mysql数据存储封装+截图+日志+测试报告+对接缺陷管理系统+自动编译部署环境+自动验证false、error案例)

标题很大,想说的很多,不知道从那开始~~直接步入正题吧 个人也是由于公司的人员的现状和项目的特殊情况,今年年中后开始折腾web自动化这块:整这个原因很简单,就是想能让自己偷点懒.也让减轻一点同事的苦力活:对于自动化测试与人工测试优缺势的问题,这里不想深入讨论,开一个博客收集一些观点然后开个讨论组讨论效果可能会更好. 标题上列的,是自己对web自动化这块统一的一个想象或是一套完整的自动化应所包含的的部分,目前完成了excel功能案例参数化+业务功能分层设计+mysql数据存储封装+截图+日志+测试

(24) java web的struts2框架的使用-action参数自动封装与类型转换

structs可以对参数进行自动封装,做法也很简单. 一,action参数自动封装: 1,可以直接在action类中,声明public的属性,接受参数. 2,属性也是是private,如果是private,需要提供setter方法,也可以根据需要提供getter方法. 3,struts可以自动对类型进行转换,一般我们会传递String类型的参数,struts可以转换成默认声明的变量类型 4,调用api时候,传递的参数名必须和action类中声明的名称相同. public class UserAc

asp.net中Request请求参数的自动封装

这两天在测一个小Demo的时候发现一个很蛋疼的问题----请求参数的获取和封装,例: 方便测试用所以这里是一个很简单的表单. <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> &