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; }