Struts2,通过表单验证,实现页面的跳转。
1、配置web.xml。
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
</web-app>
2、编写LoginAction.java类。
package Action;
public class LoginAction {
public String name;
public String pwd;
public String execute(){
if("xiao".equals(name)&&"123".equals(pwd))
return "success";
else
return "failed";
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
}
3、编写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="login.action" method="post">
帐号:<input type="text" name="name"><br>
密码:<input type="password" name="pwd"><br>
<input type="submit" value="登录">
</form>
</body>
</html>
注:jsp文件中,<input/>标签的name属性的值,必须与LoginAction.java中的name、pwd属性相对应。
4、配置struts.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>
<!-- namespace="/"表示根路径,默认是根路径 -->
<package name="default" namespace="/" extends="struts-default">
<action name="login" class="Action.LoginAction">
<result name="success">/success.jsp</result>
<result name="failed">/login.jsp</result>
</action>
</package>
<package name="Test" extends="struts-default">
<action name="Test" class="Action.TestAction">
<result name="success">/success.jsp</result>
</action>
</package>
</struts>
注意:<action></ation>标签中的名称,不需要带.action。<form></form>标签中需要带.action,是因为需要匹配过滤器。当成功匹配时,框架会自动帮你去除.action(加上.action),从而实现跳转。
5、访问Login.jsp文件。