struts官方网址:[url=http://struts.apache.org]http://struts.apache.org[/url]
[b]1.新建web工程,导入基本的5个jar包:[/b]
[color=darkblue]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[/color]
[b]2.配置web.xml过滤器[/b]
[b]3.新建Action(LoginAction),它是一个POJO[/b]
[b]4.在src目录下(运行时实际是WEB-INF/classes目录),新建struts.xml文件[/b]
<result>节点的name属性若不写,则默认为name="success"
[b]5.login.jsp页面[/b]
成功页面success.jsp 失败页面error.jsp 省略
[size=small][color=darkred][b]对登录进行改进:[/b][/color][/size]
[b]1.继承com.opensymphony.xwork2.ActionSupport,改善我们的Action类[/b]
[b]2.struts.xml中添加一个新的action[/b]
<result name="input">/login.jsp</result>表示用login.jsp来显示验证所产生的错误信息
[b]3.login.jsp中使用struts2的标签[/b]
先导入标签库:
使用标签:
:)
[b]1.新建web工程,导入基本的5个jar包:[/b]
[color=darkblue]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[/color]
[b]2.配置web.xml过滤器[/b]
<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>
[b]3.新建Action(LoginAction),它是一个POJO[/b]
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";
}
}
}
[b]4.在src目录下(运行时实际是WEB-INF/classes目录),新建struts.xml文件[/b]
<?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"
[b]5.login.jsp页面[/b]
<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 省略
[size=small][color=darkred][b]对登录进行改进:[/b][/color][/size]
[b]1.继承com.opensymphony.xwork2.ActionSupport,改善我们的Action类[/b]
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", "密码为空");
}
}
}
[b]2.struts.xml中添加一个新的action[/b]
<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来显示验证所产生的错误信息
[b]3.login.jsp中使用struts2的标签[/b]
先导入标签库:
<%@ 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>
:)