Struts2中如何接收前台传递的数据之基本数据类型,对象,和对象数组

方式一:基本数据类型:注意前台name的值和后台set***保持一致

前台:

<input type="text" name="uname">

后台:
public class StudentAction {
    //使用日志打印,要使用log4j需要配置
        Logger logger= LogManager.getLogger(LogManager.ROOT_LOGGER_NAME);
      
public void setUname(String uname){
    logger.trace(uname);
    this.uname=uname;
}

方式二:使用对象

前台:使用  成员变量.属性

<input type="text" name="stu.sname">
<input type="text" name="stu.sid">
<input type="text" name="stu.sex">

后台:1 要有一个类 如Student

            2 要有个类的***Action ,让对象Student作为,***Action的成员变量,此成员变量必须要有set方法

 

package com.oracle.vo;

public class Student {
    private int sid;
    private String sname;
   
    public int getSid() {
        return sid;
    }

    public void setSid(int sid) {
        this.sid = sid;
    }

    public String getSname() {
        return sname;
    }

    public void setSname(String sname) {
        this.sname = sname;
    }
  
}

package com.oracle.action;


import com.oracle.vo.Student;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

import java.util.List;

public class StudentAction {
    //使用日志打印,要使用log4j需要配置
        Logger logger= LogManager.getLogger(LogManager.ROOT_LOGGER_NAME);
     private Student stu;
 
    public void setStu(String stu){
        logger.trace(stu);
        this.stu=stu
    }

   
    public String add(){

            return "add";
    }

    //执行新增的操作  //增加 删除 修改 之后要查询
    public String doAdd()
    {
        
            logger.trace("当前我们可以看到前台传递过来的数据 已经注入到我们当前类中的stu属性中" +s);
       
        return "query";
    }


}

方式三:数组的 基本数据类型


前台:

<table>
    <tr>
        <td>您的兴趣爱好有</td>
        <td colspan="3">
            看电影:<input type="checkbox" name="check" value="1">
            打豆豆:<input type="checkbox" name="check" value="2">
            编程:<input type="checkbox" name="check" value="3">

        </td>
    </tr>
    <tr>
        <td>学生电脑的CPU的品牌:</td>
        <td><input type="text" name="stu[0].computer.cpu"></td>
        <td>学生姓名:</td>
        <td><input type="text" name="stu[0].sname"></td>
        <td>学生性别:</td>
        <td><input type="text" name="stu[0].sex"></td>
    </tr>

    <tr>
        <td>学生年龄:</td>
        <td><input type="text" name="stu[0].age"></td>
        <td>学号:</td>
        <td><input type="text" name="stu[0].scode"></td>
    </tr>

    <tr>
        <td>学生家庭住址:</td>
        <td colspan="3">
            <textarea  name="stu[0].address" cols="15" rows="15"></textarea>
        </td>
    </tr>

    <tr>
        <td>学生姓名:</td>
        <td><input type="text" name="stu[1].sname"></td>
        <td>学生性别:</td>
        <td><input type="text" name="stu[1].sex"></td>
    </tr>

    <tr>
        <td>学生年龄:</td>
        <td><input type="text" name="stu[1].age"></td>
        <td>学号:</td>
        <td><input type="text" name="stu[1].scode"></td>
    </tr>

    <tr>
        <td>学生家庭住址:</td>
        <td colspan="3">
            <textarea  name="stu[1].address" cols="15" rows="15"></textarea>
        </td>
    </tr>
    <tr>
        <td colspan="4">
            <input type="submit" value="保存">
            <input type="reset" value="重置">
        </td>

    </tr>


</table>

后台:

package com.oracle.vo;

public class Computer {
    private String cpu;

    public String getCpu() {
        return cpu;
    }

    public void setCpu(String cpu) {
        this.cpu = cpu;
    }

    @Override
    public String toString() {
        return "Computer{" +
                "cpu='" + cpu + '\'' +
                '}';
    }
}
package com.oracle.vo;

public class Student {
    private int sid;
    private String sname;
    private String sex;
    public Computer computer;


    public int getSid() {
        return sid;
    }

    public void setSid(int sid) {
        this.sid = sid;
    }

    public String getSname() {
        return sname;
    }

    public void setSname(String sname) {
        this.sname = sname;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public Computer getComputer() {
        return computer;
    }

    public void setComputer(Computer computer) {
        this.computer = computer;
    }

    @Override
    public String toString() {
        return "Student{" +
                "sid=" + sid +
                ", sname='" + sname + '\'' +
                ", sex='" + sex + '\'' 
                ",
              computer=" + computer +
                '}';
    }
}
package com.oracle.action;


import com.oracle.vo.Student;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

import java.util.List;

public class StudentAction {
    //使用日志打印,要使用log4j需要配置
        Logger logger= LogManager.getLogger(LogManager.ROOT_LOGGER_NAME);
        private int[] check;
        private List<Student> stu;

    public int[] getCheck() {
        return check;
    }

    public void setCheck(int[] check) {
        this.check = check;
    }

    public List<Student> getStu() {
        return stu;
    }

    public void setStu(List<Student> stu) {
        this.stu = stu;
    }



    public String add(){

            return "add";
    }

    //执行新增的操作  //增加 删除 修改 之后要查询
    public String doAdd()
    {
        //1.对象是否存在
        //2.前台的数据是否已经注入到我们stu对象中
        //3.打印出来
        for(int a:check) {
            logger.trace(a);
        }
        for(Student s:stu) {
            logger.trace("当前我们可以看到前台传递过来的数据 已经注入到我们当前类中的stu属性中" +s);
        }
        return "query";
    }


}



        

猜你喜欢

转载自blog.csdn.net/zyljjf/article/details/79817800