• struts2接受请求参数


    https://blog.csdn.net/y249839817/article/details/77702745

    https://blog.csdn.net/nthack5730/article/details/46813245

    https://www.cnblogs.com/linjiqin/archive/2011/03/16/1986367.html

    struts2之请求参数接收

    1. 采用基本类型接受请求参数(get/post)
    在Action类中定义与请求参数同名的属性,struts2便能自动接收请求参数并赋予给同名的属性。
    请求路径:http://localhost:8080/action/register.action?id=33

    复制代码
    public class HelloWorldAction {
    private Integer id;

    public Integer getId() {
    return id;
    }

    public void setId(Integer id) {
    this.id = id;
    }
    }
    复制代码

                             
    2. 采用复合类型接受请求参数
    请求路径:http://localhost:8080/action/register.action?id=79

    复制代码
    public class HelloWorldAction {
    private Person person;

    public Person getPerson() {
    return person;
    }

    public void setPerson(Person person) {
    this.person = person;
    }

    }
    复制代码

    获取Bean属性的原理:
    Struts2首先通过反射技术调用Person的默认构造器创建person的实例,然后再通过反射技术调用person中与请求参数同名的属性的setter方法,来获取请求参数数值。

    实体bean

    复制代码
    package com.ljq.bean;

    public class Person {
    private String name;
    private Integer id;

    public String getName() {
    return name;
    }

    public void setName(String name) {
    this.name = name;
    }

    public Integer getId() {
    return id;
    }

    public void setId(Integer id) {
    this.id = id;
    }

    }
    复制代码

                    

    HelloWorldAction类

    复制代码
    package com.ljq.action;

    import com.ljq.bean.Person;

    public class HelloWorldAction {
    //基本类型请求参数
    private Integer id;
    private String name;
    //复合类型请求参数
    private Person person;


    public String execute(){
    return "success";
    }


    public Person getPerson() {
    return person;
    }

    public void setPerson(Person person) {
    this.person = person;
    }

    public Integer getId() {
    return id;
    }

    public void setId(Integer id) {
    this.id = id;
    }

    public String getName() {
    return name;
    }

    public void setName(String name) {
    this.name = name;
    }

    }
    复制代码

                             

    index.jsp请求页面

    复制代码
    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>My JSP 'index.jsp' starting page</title>
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0"> 
    </head>

    <body>
    <!-- get方法发送,如果是中文则会出现乱码,post不会,好像struts2.1.8有修正此问题
    基本类型get请求参数: http://localhost:8083/struts2/control/employee/executeHelloWorld.do?id=1&name= zhangsan
    复合类型get请求参数: http://localhost:8083/struts2/control/employee/executeHelloWorld.do?person.id=2&person.name=lisi

    http://localhost:8083/struts2/control/employee/executeHelloWorld.do?id=1&name=zhangsan&person.id=2&person.name=lisi
    -->

    <!-- post方法发送 -->
    <form action="<%=request.getContextPath()%>/control/employee/executeHelloWorld.do" method="post">
    <!-- 基本类型请求参数 -->
    id:<input type="text" name="id"><br/>
    name:<input type="text" name="name"><br/>
    <!-- 复合类型请求参数 -->
    person.id:<input type="text" name="person.id"><br/>
    person.name:<input type="text" name="person.name"><br/>
    <input type="submit" value="发送"/>
    </form>
    </body>
    </html>
    复制代码

        

    显示页面

    复制代码
    <%@ page language="java" import="java.util.*,java.net.*" pageEncoding="UTF-8"%>


    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>

    <title>My JSP 'message.jsp' starting page</title>

    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0"> 
    </head>

    <body>
    <!-- 输出基本类型请求参数 -->
    id=${id}<br/>
    name=${name}<br/>
    <!-- 输出复合类型请求参数 -->
    person.id=${person.id }<br/>
    person.name=${person.name }<br/>
    </body>
    </html>
    复制代码

                                     

                     

    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>
    <constant name="struts.i18n.encoding" value="UTF-8" />
    <constant name="struts.enable.DynamicMethodInvocation" value="false" />
    <constant name="struts.action.extension" value="do,go" />

    <package name="employee" namespace="/control/employee" extends="struts-default">
    <action name="*HelloWorld" class="com.ljq.action.HelloWorldAction" method="{1}">
    <result name="success">/WEB-INF/page/message.jsp</result>
    </action>
    </package>
    </struts>
  • 相关阅读:
    八步详解Hibernate的搭建及使用
    Hibernate的介绍
    javascript的优缺点和内置对象
    过滤器有哪些作用?
    JSP中动态INCLUDE与静态INCLUDE的区别?
    jsp的四种范围?
    jsp有哪些动作作用分别是什么?
    介绍在JSP中如何使用JavaBeans?
    jsp有哪些内置对象作用分别是什么 分别有什么方法?
    request.getAttribute() 和 request.getParameter() 有何区别?
  • 原文地址:https://www.cnblogs.com/feifeicui/p/8732989.html
Copyright © 2020-2023  润新知