1、将表单数据 封装到普通属性:
login.jsp:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>登录页面</title>
</head>
<body>
<form action="${pageContext.request.contextPath}/login" method="post">
用户名:<input type="text" name="username"><br>
密码:<input type="password" name="password"><br>
<input type="submit" value="登录">
</form>
</body>
</html>
struts.xml:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="user" extends="struts-default">
<action name="login" class="com.struts.user.UserAction" method="login">
<result name="login">/index.jsp</result>
</action>
</package>
</struts>
UserAction.java:
package com.struts.user;
import com.opensymphony.xwork2.ActionSupport;
public class UserAction extends ActionSupport {
/**
* 请求数据的自动封装:
* action 中的属性名必须和表单中的 name 属性名一样,且必须要有 setter 方法;
*/
private String username;
private String password;
public void setUsername(String username) {
this.username = username;
}
public void setPassword(String password) {
this.password = password;
}
public String login() {
// 直接输出 表单提交的数据(通过上面的 setter 方法已经自动封装了 表单数据)
System.out.println(username + "-" + password);
return "login";
}
}
2、将表单数据 封装到 Javabean:
login.jsp:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>登录页面</title>
</head>
<body>
<form action="${pageContext.request.contextPath}/login" method="post">
<%-- 表单中的 name 属性必须是 javabean对象.javabean中的属性名 --%>
用户名:<input type="text" name="user.username"><br>
密码:<input type="password" name="user.password"><br>
<input type="submit" value="登录">
</form>
</body>
</html>
struts.xml:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="user" extends="struts-default">
<action name="login" class="com.struts.user.UserAction" method="login">
<result name="login">/index.jsp</result>
</action>
</package>
</struts>
UserAction.java:
package com.struts.user;
import com.opensymphony.xwork2.ActionSupport;
public class UserAction extends ActionSupport {
/**
* 将表单数据封装到 Javabean:
* action 中需要创建一个 javabean 对象,并且要有 setter 和 getter 方法;
* 注意:getter 方法也必须要有!!
* 并且 javabean 中也要有 getter 和 setter 方法;
* 表单中的 name 属性必须是 javabean对象名.javabean中的属性名;
*/
private User user;
public void setUser(User user) {
this.user = user;
}
public User getUser() {
return user;
}
public String login() {
// 直接输出 表单提交的数据(通过上面的 setter getter 方法已经自动封装了 表单数据)
System.out.println(user);
return "login";
}
}