`
whp0731
  • 浏览: 170444 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

struts2学习之二------基本验证

阅读更多

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>  

 

分享到:
评论

相关推荐

    (2.0版本)自己写的struts2+hibernate+spring实例

    主要是为了引入时间等字段,来试验一下struts2的时间标签是否好用.这次为了做成一个好点的实例.所以换掉了表结构.为歌词表.并附带2万首歌词的数据库.因为歌词插入数据太大.所以单另上传了.如果不需要这两万条数据的...

    自己写的struts2+hibernate+spring实例

    可以直接导入. &lt;br&gt;查看说明: 当前只是自己看struts2的一点点资料随便写的一个简单的增删改查程序.全当给所有打算使用struts2却没有接触过的人一个入门而已.我也是初看.才2天而已.所以各位高手就不要笑话了.愿...

    深入浅出Struts 2 .pdf(原书扫描版) part 1

    书中介绍了如何利用Struts 2 来解决Web 应用开发中的常见问题,同时还深入浅出地探讨了许多能帮助程序员编写Struts 2 应用程序的技巧,如管理页面导航活动、输入验证、国际化和本地化、对Ajax 的支持,等等。...

    java web技术开发大全(最全最新)

    提供典型应用案例,剖析JSP/Servret技术与Struts 2技术在Web开发中的不同 提供完整的应用案例,使读者可以深入体会SSH开发模式的精髓 所有开发工具和框架均使用目前的最新版本,紧跟技术发展的趋势 提供230个实例和4...

    Java学习笔记-个人整理的

    \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}{...

    java web开发技术大全

    提供典型应用案例,剖析JSP/Servret技术与Struts 2技术在Web开发中的不同 提供完整的应用案例,使读者可以深入体会SSH开发模式的精髓 所有开发工具和框架均使用目前的最新版本,紧跟技术发展的趋势 提供230个实例...

    structs程序设计从入门到精通word文档

    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...

    低清版 大型门户网站是这样炼成的.pdf

    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应用的...

    达内java培训目录

    Struts2 Struts2核心控制流程、Ognl、Action、Interceptor、Result、FreeMarker、Struts2标记库、Struts2扩展、Struts2应用技巧(输入验证、消息国际化、文件上传和下载、防止重复提交等)。 熟练掌握Struts2核心...

    Java/JavaEE 学习笔记

    Struts学习笔记...............263 Struts2.0..263 第一章 MVC Model.........................263 第二章 Struts Basic264 第三章 Action,Result & Struts2 Tag Library......................267 第四章 Data ...

    iuhyiuhkjh908u0980

    [转]使用Ant进行项目构建之二 ... 前面已经把ant的基本运行环境搭建好了,在接下来的工作中,将一步一步的开始构建我们的项目。选择项目目录结构:一个项目开始的时候,选择一个合适的项目目录结构,是一件很重要的...

    网上书店、网上银行、虚拟基金交易平台(三个项目源码)

    虚拟基金交易平台(提供了基本的功能,使用的技术为:Struts1.2+Hibernate3.1+AJAX。 其中又用到了Tiles框架,Validator验证框架, Action采用DispatchAction, 所有的表单Bean采用动态验证表单...

    J2EE学习笔记(J2ee初学者必备手册)

    Struts学习笔记...............263 Struts2.0..263 第一章 MVC Model.........................263 第二章 Struts Basic264 第三章 Action,Result & Struts2 Tag Library......................267 第四章 Data ...

    从Java走向Java+EE+.rar

    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 ...

    JSP实习报告完美版

    1. 引言 1 1.1 实习目的和要求 1 1.2 实习内容 1 2. 专题讲座心得 3 ...5.初步掌握利用Struts、Hibernate、Spring开发一个基于Web的应用系统的技术和方法 6.开发一个使用JSP技术的基于Web的信息系统 1.2 实习内容

    基于Java(SSH)+ionic + MySQL实现电子词典APP【100011513】

    将这些模型实现为基本的 Java 对象,然后编写基本的 DAO 接口,采用 Hibernate 架构实现的 DAO 类来实现 Java 类与数据库之间的转换和访问,最后由 Spring 做支持,支持 struts 和 hibernate。 系统的具体功能 ...

    基于关联挖掘的构件检索方法研究及原型系统实现

    本系统采用了B/S体系结构,MVC框架以及基于Struts和Hibernate等的J2EE技术来实现,系统的实现可以帮助用户更高效地检索和复用构件。 目录结构 摘 要 1 ABSTRACT 3 第一章 绪论 1 1.1研究背景和意义 1 1.2国内外研究...

    JAVA上百实例源码以及开源项目源代码

    2个目标文件,提供基本的音乐编辑功能。编辑音乐软件的朋友,这款实例会对你有所帮助。 Calendar万年历 1个目标文件 EJB 模拟银行ATM流程及操作源代码 6个目标文件,EJB来模拟银行ATM机的流程及操作:获取系统属性...

Global site tag (gtag.js) - Google Analytics