本篇介绍了struts2的最基本的form提交,并且使用了其POJO属性提交,效果非常不错。。。省去很多代码冗余!
本代码建立在上一章节的TestStruts工程基础上。
1.建立一个User类(封装用户属性):
User.java:
package com.xuyi.vo;
public class User {
private String username;
private String password;
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
}
2.建立action:(BaseAction.java见上一章)
FormStruts2.java
package com.xuyi.action;
import com.xuyi.vo.User;
public class FormStruts2 extends BaseAction {
private User user;
private String msg;
@Override
public String execute() throws Exception {
if("xuyi".equals(user.getUsername())&&"123".equals(user.getPassword())){
msg = "用户登录成功!";
}else{
msg = "用户登录失败!";
}
return SUCCESS;
}
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
public String getMsg() {
return msg;
}
}
3.配置action:
struts.xml:
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <!--package: name可以随便指定 namespace指定页面的目录(/为根目录) extends指定为 struts-default.xml文件(此文件包含默认的设置和定义) --> <package name="struts" namespace="/" extends="struts-default"> <!--action:name是访问action的名称 class是action的类 method是访问的action里的方法等同于struts1的method result是返回url--> <!-- struts2 form begin --> <action name="formStruts2" class="com.xuyi.action.FormStruts2"> <result name="success">/pages/struts2_form_result.jsp</result> </action> <!-- struts2 form end --> </package> </struts>
4.建立页面:(在WebRoot的pages目录下)
struts2_form_submit.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>
<title>Struts2-form示例-提交页</title>
</head>
<body>
<form action="../formStruts2.action" method="post">
用户名:<input type="text" name="user.username"><br/><br/>
密码:<input type="password" name="user.password"><br/><br/>
<input type="submit" value="提交">
</form>
</body>
</html>
struts2_form_result.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>
<title>Struts2-form示例-结果页</title>
</head>
<body>
${msg}
</body>
</html>
5.最后访问http://localhost:8080/TestStruts/pages/struts2_form_submit.jsp提交数据后即可看到效果!