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

Posted --->别先生<---

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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>

 

以上是关于Struts2请求数据自动封装和数据类型转换的主要内容,如果未能解决你的问题,请参考以下文章

struts2 表单参数自动封装和参数类型自动转换

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

深入分析JavaWeb 45 -- Struts2封装请求参数与类型转换

深入分析JavaWeb 45 -- Struts2封装请求参数与类型转换

Java实战之01Struts2-03属性封装类型转换数据验证

struts中的请求数据自动封装