Struts2接受参数

使用Action的属性接收参数

访问地址:http://localhost:8080/HelloWord/login.jsp

login.jsp

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
<form action="LoginAction.action" method="post">
用户名:<input type="text" name="username">
密码:<input type="password" name="password">
<input type="submit" value="提交" />
</form>
</body>
</html>

LoginAction.java

package com.action;

import com.opensymphony.xwork2.ActionSupport;

public class LoginAction extends ActionSupport {
    private String username;
    private String password;
    
    public String login(){
        System.out.println("------username="+username);
        System.out.println("------password="+password);
        return SUCCESS;
    }
    
    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

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

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_9" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
    <display-name>HelloWord</display-name>

    <!-- 过滤器 -->
    <filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
    </filter>

    <!-- 过滤器filter映射 -->
    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
</web-app>

struts.xml

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

<struts>
    <package name="default" namespace="/" extends="struts-default">
        <action name="LoginAction" method="login" class="com.action.LoginAction">
            <result>/success.jsp</result>
        </action>
    </package>
</struts>

使用DomainModel接收参数

访问地址:http://localhost:8080/HelloWord/login.jsp

login.jsp

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
<form action="LoginAction.action" method="post">
用户名:<input type="text" name="user.username">
密码:<input type="password" name="user.password">
<input type="submit" value="提交" />
</form>
</body>
</html>

User.java

package com.po;

public class User {
    private String username;
    private String password;
    
    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
}

LoginAction.java

package com.action;

import com.opensymphony.xwork2.ActionSupport;
import com.po.User;

public class LoginAction extends ActionSupport {
    
    private User user;
    
    public String login(){
        System.out.println("------username="+user.getUsername());
        System.out.println("------password="+user.getPassword());
        return SUCCESS;
    }

    public User getUser() {
        return user;
    }

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

web.xml、struts.xml同上。


使用ModelDriven接收参数

访问地址:http://localhost:8080/HelloWord/login.jsp

 login.jsp

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
<form action="LoginAction.action" method="post">
用户名:<input type="text" name="username">
密码:<input type="password" name="password">
<input type="submit" value="提交" />
</form>
</body>
</html>

LoginAction.java

package com.action;

import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
import com.po.User;

public class LoginAction extends ActionSupport implements ModelDriven<User>{
    
    private User user = new User();
    
    @Override
    public User getModel() {
        return user;
    }
    
    public String login(){
        System.out.println("------username="+user.getUsername());
        System.out.println("------password="+user.getPassword());
        return SUCCESS;
    }
}

其他同上。

复杂参数

login.jsp

<form action="LoginAction.action" method="post">
用户名:<input type="text" name="username">
密码:<input type="password" name="password">
书本1:<input type="text" name="bookList[0]">
书本2:<input type="text" name="bookList[1]">
userList用户名:<input type="text" name="userList[0].username">
userList密码:<input type="text" name="userList[0].password">
<input type="submit" value="提交" />
</form>

LoginAction.java

public String login(){
        System.out.println("------username="+user.getUsername());
        System.out.println("------password="+user.getPassword());
        System.out.println("------BookList1="+user.getBookList().get(0));
        System.out.println("------BookList2="+user.getBookList().get(1));
        System.out.println("------userList用户名:="+user.getUserList().get(0).getUsername());
        System.out.println("------userList密码:="+user.getUserList().get(0).getPassword());
        return SUCCESS;
    }

 

posted @ 2016-07-26 16:41  smilelily126  阅读(149)  评论(0编辑  收藏  举报