struts2学习之二----基本验证
1、使用标签将原来“struts2学习之一”中的lonin.jsp替换为login2.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!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=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<s:form action="login">
<s:textfield name="username" label="username"></s:textfield>
<s:password name="password" label="password"></s:password>
<s:submit label="submit"></s:submit>
</s:form>
</body>
</html>
2、修改原“struts2学习之一”中loginAction,使它继承自ActionSupport
这样一来可以使用ActionSupport类的许多方法,如valildate()验证方法等
package com.test.action;
import java.util.Map;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class LoginAction extends ActionSupport
{
private String username;
private String password;
public String getUsername()
{
return username;
}
public void setUsername(String username)
{
this.username = username;
}
public String getPassword()
{
return password;
}
public void setPassword(String password)
{
this.password = password;
}
@SuppressWarnings("unchecked")
//带逻辑的验证还是放在excute()方法里
public String execute() throws Exception
{
if ("hello".equals(this.getUsername().trim())
&& "world".equals(this.getPassword().trim()))
{
Map map = ActionContext.getContext().getSession();
map.put("user","valid");
return "success";
}
else
{//struts2框架会自动显示FieldError的内容,此处如果出错就会显示在字段username上出错信息username or password error
this.addFieldError("username", "username or password error");
return "failer";
}
}
@Override
//validate方法用来验证是否为空或是长度等简单的验证
public void validate()
{
if (null == this.getUsername() || "".equals(this.getUsername().trim()))
{
this.addFieldError("username", "username required");
}
if (null == this.getPassword() || "".equals(this.getPassword().trim()))
{
this.addFieldError("password", "password required");
}
}
}
3、strurt.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.action.LoginAction">
<result name="input">/login2.jsp</result>
<result name="success">result.jsp</result>
<result name="failer">/login2.jsp</result>
</action>
</package>
</struts>
分享到:
相关推荐
主要是为了引入时间等字段,来试验一下struts2的时间标签是否好用.这次为了做成一个好点的实例.所以换掉了表结构.为歌词表.并附带2万首歌词的数据库.因为歌词插入数据太大.所以单另上传了.如果不需要这两万条数据的...
可以直接导入. <br>查看说明: 当前只是自己看struts2的一点点资料随便写的一个简单的增删改查程序.全当给所有打算使用struts2却没有接触过的人一个入门而已.我也是初看.才2天而已.所以各位高手就不要笑话了.愿...
书中介绍了如何利用Struts 2 来解决Web 应用开发中的常见问题,同时还深入浅出地探讨了许多能帮助程序员编写Struts 2 应用程序的技巧,如管理页面导航活动、输入验证、国际化和本地化、对Ajax 的支持,等等。...
提供典型应用案例,剖析JSP/Servret技术与Struts 2技术在Web开发中的不同 提供完整的应用案例,使读者可以深入体会SSH开发模式的精髓 所有开发工具和框架均使用目前的最新版本,紧跟技术发展的趋势 提供230个实例和4...
\contentsline {chapter}{Contents}{2}{section*.1} {1}Java基础}{17}{chapter.1} {1.1}基本语法}{17}{section.1.1} {1.2}数字表达方式}{17}{section.1.2} {1.3}补码}{19}{section.1.3} {1.3.1}总结}{23}{...
提供典型应用案例,剖析JSP/Servret技术与Struts 2技术在Web开发中的不同 提供完整的应用案例,使读者可以深入体会SSH开发模式的精髓 所有开发工具和框架均使用目前的最新版本,紧跟技术发展的趋势 提供230个实例...
1.3 Struts1.0学习文档 8 1.3 JSP流行模板Struts的安装配置 8 1.4Struts 用户指南 8 1.5 你的第一个struts应用程序 8 第2章深入Struts结构 8 2.1人介绍应用框架 mvc和model2 8 2.2 Struts原理、开发及项目实施 8 2.3...
2.3.2 struts 2应用基本开发步骤—搭建eportal应用 69 2.3.3 struts 2中集成fckeditor 80 2.3.4 struts 2中集成displaytag 83 2.4 struts 2国际化实现 85 2.4.1 web应用的中文本地化 85 2.4.2 struts 2应用的...
Struts2 Struts2核心控制流程、Ognl、Action、Interceptor、Result、FreeMarker、Struts2标记库、Struts2扩展、Struts2应用技巧(输入验证、消息国际化、文件上传和下载、防止重复提交等)。 熟练掌握Struts2核心...
Struts学习笔记...............263 Struts2.0..263 第一章 MVC Model.........................263 第二章 Struts Basic264 第三章 Action,Result & Struts2 Tag Library......................267 第四章 Data ...
[转]使用Ant进行项目构建之二 ... 前面已经把ant的基本运行环境搭建好了,在接下来的工作中,将一步一步的开始构建我们的项目。选择项目目录结构:一个项目开始的时候,选择一个合适的项目目录结构,是一件很重要的...
虚拟基金交易平台(提供了基本的功能,使用的技术为:Struts1.2+Hibernate3.1+AJAX。 其中又用到了Tiles框架,Validator验证框架, Action采用DispatchAction, 所有的表单Bean采用动态验证表单...
Struts学习笔记...............263 Struts2.0..263 第一章 MVC Model.........................263 第二章 Struts Basic264 第三章 Action,Result & Struts2 Tag Library......................267 第四章 Data ...
10.2 实例——Struts 2的“Hello World” 143 10.3 小结 151 第11章 利用JDBC访问数据库 152 11.1 JDBC基础 152 11.1.1 如何用JDBC访问数据库 152 11.2 实例——利用JDBC访问SQL Server数据库 154 11.3 ...
1. 引言 1 1.1 实习目的和要求 1 1.2 实习内容 1 2. 专题讲座心得 3 ...5.初步掌握利用Struts、Hibernate、Spring开发一个基于Web的应用系统的技术和方法 6.开发一个使用JSP技术的基于Web的信息系统 1.2 实习内容
将这些模型实现为基本的 Java 对象,然后编写基本的 DAO 接口,采用 Hibernate 架构实现的 DAO 类来实现 Java 类与数据库之间的转换和访问,最后由 Spring 做支持,支持 struts 和 hibernate。 系统的具体功能 ...
本系统采用了B/S体系结构,MVC框架以及基于Struts和Hibernate等的J2EE技术来实现,系统的实现可以帮助用户更高效地检索和复用构件。 目录结构 摘 要 1 ABSTRACT 3 第一章 绪论 1 1.1研究背景和意义 1 1.2国内外研究...
2个目标文件,提供基本的音乐编辑功能。编辑音乐软件的朋友,这款实例会对你有所帮助。 Calendar万年历 1个目标文件 EJB 模拟银行ATM流程及操作源代码 6个目标文件,EJB来模拟银行ATM机的流程及操作:获取系统属性...