八、接收参数

七、接收参数

1.使用action的属性接收参数,只要action中属性名与jsp中控件名一致并实现类get,set方法即可直接使用

    1.1webRoot下建login.jsp

<body>
    <h2>用户登陆</h2>
    <form action="LoginAction.action" method="post">
        用户名:<input type="text" name="name"><br/>
        密码:<input type="text"name="password"><br/>
        <input type="submit" value="登录">
    </form>
</body>

    1.2新建Action

package com.myz.action;

import com.opensymphony.xwork2.ActionSupport;

public class LoginAction extends ActionSupport {
    
    private String name;
    private String password;
    
    
    
    public String getName() {
        return name;
    }

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



    public String getPassword() {
        return password;
    }



    public void setPassword(String password) {
        this.password = password;
    }

    public String login(){
        System.out.println("name="+name);
         return SUCCESS;
    }
}

    1.3配置action

<action name="LoginAction" method="login" class="com.myz.action.LoginAction">
            <result>/loginok.jsp</result>
        </action>

    1.4WebRoot下新建loginok.jsp

    1.5发布项目,浏览器访问http://localhost:8080/HelloWorld/login.jsp,输入用户名密码后跳转到登录成功页面,后台打出输入的用户名

2.使用DomainModel接收参数

    2.1login.jsp

<body>
    <h2>用户登陆</h2>
    <form action="LoginAction.action" method="post">
        用户名:<input type="text" name="user.name"><br/>
        密码:<input type="text"name="user.password"><br/>
        <input type="submit" value="登录">
    </form>
</body>

    2.2新建user类

package com.myz.domain;

public class User {
    private String name;
    private String password;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    
}

    2.3新建、配置action,struts.xml同1.3

package com.myz.action;

import com.myz.domain.User;
import com.opensymphony.xwork2.ActionSupport;

public class LoginAction extends ActionSupport {
    
    private User user;
    
    public User getUser() {
        return user;
    }

    public void setUser(User user) {
        this.user = user;
    }

    public String login(){
        System.out.println("name="+user.getName());
         return SUCCESS;
    }
}

    2.4发布项目,浏览器访问http://localhost:8080/HelloWorld/login.jsp,输入用户名密码后跳转到登录成功页面,后台打出输入的用户名

3.使用ModelDriven接收参数(推荐)

    3.1login.jsp

<body>
    <h2>用户登陆</h2>
    <form action="LoginAction.action" method="post">
        用户名:<input type="text" name="name"><br/>
        密码:<input type="text"name="password"><br/>
        <input type="submit" value="登录">
    </form>
</body>

    3.2新建User类同2.2

    3.3新建Action,配置action同1.3

package com.myz.action;

import com.myz.domain.User;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;

public class LoginAction extends ActionSupport implements ModelDriven<User>{
    
    private User user=new User();

    public String login(){
        System.out.println("name="+user.getName());
         return SUCCESS;
    }

    @Override
    public User getModel() {
        // TODO Auto-generated method stub
        return user;
    }
}

    3.4访问方式同上

 

二、集合对象接收参数

1.list接收参数

  1.1login.jsp

<body>
    <h2>用户登陆</h2>
    <form action="LoginAction.action" method="post">
        用户名:<input type="text" name="name"><br/>
        密码:<input type="text"name="password"><br/>
        书籍1:<input type="text" name="booklist[0]"><br/>
        书籍1:<input type="text" name="booklist[1]"><br/>
        <input type="submit" value="登录">
    </form>
</body>

  1.2User.java

package com.myz.domain;

import java.util.List;

public class User {
    private String name;
    private String password;
    
    private List<String> booklist;
    
    public List<String> getBooklist() {
        return booklist;
    }
    public void setBooklist(List<String> booklist) {
        this.booklist = booklist;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    
}

  1.3loginAction.java

package com.myz.action;

import com.myz.domain.User;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;

public class LoginAction extends ActionSupport implements ModelDriven<User>{
    
    private User user=new User();

    public String login(){
        System.out.println("name="+user.getName());
        System.out.println("book1="+user.getBooklist().get(0));
        System.out.println("book1="+user.getBooklist().get(1));
         return SUCCESS;
    }

    @Override
    public User getModel() {
        // TODO Auto-generated method stub
        return user;
    }
}

  1.4Action配置同上,浏览器访问同上

2.list对象中存放对象

  2.1Book类

package com.myz.domain;

public class Book {
    private String bookname;
    private int bookprice;
    
    public String getBookname() {
        return bookname;
    }
    public void setBookname(String bookname) {
        this.bookname = bookname;
    }
    public int getBookprice() {
        return bookprice;
    }
    public void setBookprice(int bookprice) {
        this.bookprice = bookprice;
    }
    
}

  2.2User类

package com.myz.domain;

import java.util.List;

public class User {
    private String name;
    private String password;
    
    private List<Book> booklist;
    
    public List<Book> getBooklist() {
        return booklist;
    }
    public void setBooklist(List<Book> booklist) {
        this.booklist = booklist;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    
}

  2.3login.jsp

<body>
    <h2>用户登陆</h2>
    <form action="LoginAction.action" method="post">
        用户名:<input type="text" name="name"><br/>
        密码:<input type="text"name="password"><br/>
        书籍1:<input type="text" name="booklist[0].bookname"><br/>
        书籍1:<input type="text" name="booklist[1].bookname"><br/>
        <input type="submit" value="登录">
    </form>
</body>

  2.4LoginAction.java

package com.myz.action;

import com.myz.domain.User;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;

public class LoginAction extends ActionSupport implements ModelDriven<User>{
    
    private User user=new User();

    public String login(){
        System.out.println("name="+user.getName());
        System.out.println("book1="+user.getBooklist().get(0).getBookname());
        System.out.println("book1="+user.getBooklist().get(1).getBookname());
         return SUCCESS;
    }

    @Override
    public User getModel() {
        // TODO Auto-generated method stub
        return user;
    }
}

  2.5Action配置即浏览器访问方式同上

posted @ 2018-02-19 20:00  菜鸡蔡文姬  阅读(137)  评论(0编辑  收藏  举报