struts官方网址:
http://struts.apache.org
1.新建web工程,导入基本的5个jar包:
commons-logging-1.0.4.jar
freemarker-2.3.8.jar
ognl-2.6.11.jar
struts2-core-2.0.14.jar
xwork-2.0.7.jar
2.配置web.xml过滤器
3.新建Action(LoginAction),它是一个POJO
4.在src目录下(运行时实际是WEB-INF/classes目录),新建struts.xml文件
<result>节点的name属性若不写,则默认为name="success"
5.login.jsp页面
成功页面success.jsp 失败页面error.jsp 省略
对登录进行改进:
1.继承com.opensymphony.xwork2.ActionSupport,改善我们的Action类
2.struts.xml中添加一个新的action
<result name="input">/login.jsp</result>表示用login.jsp来显示验证所产生的错误信息
3.login.jsp中使用struts2的标签
先导入标签库:
使用标签:
1.新建web工程,导入基本的5个jar包:
commons-logging-1.0.4.jar
freemarker-2.3.8.jar
ognl-2.6.11.jar
struts2-core-2.0.14.jar
xwork-2.0.7.jar
2.配置web.xml过滤器
<filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
3.新建Action(LoginAction),它是一个POJO
package com.test.bean; public class LoginAction { private String username; private String password; // setter和getter ... //Action中的处理方法 public String execute(){ if( "yueyan".equals(this.getUsername().trim() && "123".equals(this.getPassword().trim())) { return "success"; }else{ return "error"; } } }
4.在src目录下(运行时实际是WEB-INF/classes目录),新建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="struts2" extends="struts-default"> <action name="login" class="com.test.struts2.action.LoginAction"> <result >/success.jsp</result> <result name="error">/error.jsp</result> </action> </package> </struts>
<result>节点的name属性若不写,则默认为name="success"
5.login.jsp页面
<form action="login.action" method="post"> 用户名:<input type="text" name="username" /><br> 密码:<input type="password" name="password" /><br> <input type="submit"> </form>
成功页面success.jsp 失败页面error.jsp 省略
对登录进行改进:
1.继承com.opensymphony.xwork2.ActionSupport,改善我们的Action类
package com.test.struts2.action; import com.opensymphony.xwork2.ActionSupport; public class LoginAction2 extends ActionSupport { private String username; private String password; // setter和getter /** 处理 */ @Override public String execute(){ if( "yueyan".equals(this.getUsername().trim()) && "123".equals(this.getPassword().trim()) ){ return "success"; }else{ return "error"; } } /** 验证 */ @Override public void validate() { if( "".equals(this.getUsername().trim()) ){ this.addFieldError("username", "用户名为空");//给字段添加错误信息 } if( "".equals(this.getPassword().trim()) ){ this.addFieldError("password", "密码为空"); } } }
2.struts.xml中添加一个新的action
<action name="login2" class="com.test.struts2.action.LoginAction2"> <result >/success.jsp</result> <result name="error">/error.jsp</result> <result name="input">/login.jsp</result> </action>
<result name="input">/login.jsp</result>表示用login.jsp来显示验证所产生的错误信息
3.login.jsp中使用struts2的标签
先导入标签库:
<%@ taglib prefix="s" uri="/struts-tags" %>
使用标签:
<s:form action="login2"> <s:textfield name="username" label="用户名" /> <s:password name="password" label="密 码" /> <s:submit label="提交" /> </s:form>
