Struts2学习笔记1

xiaoxiao2026-08-29  20

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] <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> :)
转载请注明原文地址: https://www.6miu.com/read-5052065.html

最新回复(0)