Struts2 接收表单参数接收表单的三个方式
一、使用Action的属性接收参数
login.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta 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>
loginsuccess.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
登录成功
</body>
</html>
login.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
"http://struts.apache.org/dtds/struts-2.5.dtd">
<struts>
<package name="login" namespace="/" extends="struts-default" strict-method-invocation="false">
<!-- 指定方法 -->
<action name="loginAction" method="login" class="com.test.action.LoginAction">
<result name="success">/loginsuccess.jsp</result>
</action>
</package>
</struts>
LoginAction
package com.test.action;
import com.opensymphony.xwork2.ActionSupport;
public class LoginAction extends ActionSupport {
private String username;
private String password;
public String login() {
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;
}
}
二、使用DomainModel接收参数
LoginAction
package com.test.action;
import com.opensymphony.xwork2.ActionSupport;
public class LoginAction extends ActionSupport {
private User user;
public String login() {
return "success";
}
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
}
login.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta 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>
三、使用ModelDriven接收参数
LoginAction
package com.test.action;
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() {
return "success";
}
@Override
public User getModel() {
return user;
}
}
login.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta 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>