`
whp0731
  • 浏览: 174780 次
  • 性别: 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>  

 

分享到:
评论

相关推荐

    struts-2.1.8.1-all-01

    2. **拦截器(Interceptors)**:Struts 2的核心组件之一,它们在Action执行前后进行干预,实现如日志记录、权限验证、数据校验等功能。 3. **配置灵活性**:Struts 2允许开发者使用XML或注解来配置Action、结果和...

    struts-xwork-core源码

    Struts-xwork-core是Struts2框架的核心组件,它提供了Action和结果的执行模型,以及类型转换、数据验证和国际化等功能。在这个压缩包中,包含了该核心库的源代码,对于学习和理解Struts2的工作原理及其内部机制极具...

    struts-2.5.20-min-lib.zip

    在本压缩包"struts-2.5.20-min-lib.zip"中,包含了Struts2框架的最小核心库,适合初学者进行基本的学习和实践。 首先,Struts2的版本号2.5.20表明这是一个较新的版本,包含了从早期版本累积的改进和修复。Struts2的...

    struts-2.5.14.1-apps struts2官方例程

    在深入探讨之前,我们先来了解一下Struts2的基本概念。 Struts2是基于MVC(Model-View-Controller)设计模式的,它将业务逻辑、数据和用户界面分离,使得开发者可以独立地处理各个部分,提高了代码的可维护性和可...

    javastruts2入门学习实例--用户注册和用户登录整合.rar

    - 使用Struts2的验证框架进行数据校验,如非空检查、格式验证等。 6. **用户登录**: - 登录功能通常包括用户名和密码的验证。在Action类中实现验证逻辑,对比输入的用户名和密码与数据库中的记录。 - Struts2...

    Struts-2.2.3.1-src.zip

    2. **core**: 这部分主要包含Struts 2框架的基本结构和组件,如ActionContext、Dispatcher、PlugIn和配置管理。它负责处理HTTP请求,调度Action,以及处理应用程序的生命周期。 3. **assembly**: 这可能是指构建和...

    struts2-jquery-plugin使用手册,自己写的

    - 可以参考官方文档或者提供的示例代码学习如何使用Struts2-jQuery-Plugin。博主的博文链接(https://79343654.iteye.com/blog/1327488)可能包含更多实战经验。 - 在实际开发中,使用浏览器的开发者工具(如...

    Struts2登录实例--亲测可用

    综上所述,这个"Struts2登录实例"涵盖了Struts2的核心组件和基本流程,通过学习和实践这个实例,开发者可以更好地理解和掌握Struts2框架,并能应用于实际项目开发中。文件名"Struts2_Login"可能包含了实现这个登录...

    Struts2项目--1.简单登录验证

    简单登录验证”旨在介绍如何利用Struts2框架实现一个基本的用户登录验证功能,这是Web应用中的常见需求。 在Struts2中,我们首先需要配置`struts.xml`文件,它是整个应用的核心配置文件,定义了动作映射、拦截器和...

    Struts学习----Action 的配置和使用(源码学习)

    一个基本的Action类需要继承`org.apache.struts.action.Action`,并重写`execute`方法。例如: ```java public class LoginAction extends Action { public ActionForward execute(ActionMapping mapping, ...

    struts2-2.2.3-all.zip

    样例通常包含了一些基础的功能实现,如表单验证、文件上传下载、拦截器使用等,可以帮助开发者快速上手并理解Struts2的基本用法。通过研究这些样例,开发者可以学习到如何配置Struts2、如何编写Action类、如何使用...

    struts-------资料.rar

    虽然现在Spring MVC和其他现代框架在Java Web开发中占据主导地位,但Struts对于理解MVC模式和Web框架的基本原理仍然具有很高的学习价值。理解并掌握Struts的运作机制,有助于开发者更好地理解和使用其他类似的Web...

    struts-2.3.3-all-src

    3. **Interceptor(拦截器)**:拦截器是Struts 2的一大特色,它允许在Action执行前后插入自定义逻辑,如日志、权限验证等。拦截器链可以灵活配置,提高了代码复用和解耦。 4. **ValueStack**:这是一个数据容器,...

    struts2权威指南--前三章

    学习这部分内容,你可以了解如何构建基本的Action,掌握Struts2的配置机制,理解请求处理流程,并能够实现简单的用户交互。随着实践的深入,你将能更好地运用Struts2来开发复杂的Web应用程序,包括处理表单提交、...

    struts2官方例子10--Struts2的Form标签

    在Struts2框架中,Form标签是用于处理用户输入和表单数据的核心组件之一。这个官方示例10专注于讲解如何在Struts2中使用Form标签。 Form标签主要用于创建HTML表单,并与Action类中的属性进行绑定。这使得在前端和...

    Struts 2权威指南--基于WebWork核心的MVC开发

    通过以上章节的学习,我们可以看到Struts 2框架的强大之处,以及它相较于其他MVC框架的优势。无论是在功能的丰富性还是在易用性方面,Struts 2都展现出了卓越的能力。对于希望使用Java进行Web开发的开发者来说,掌握...

    struts2学习笔记.doc

    - **Struts2的起源**:Struts2最初由WebWork和Struts1的核心开发者联合创建,其目的是为了弥补这两个框架的不足之处。 **1.2 开发环境配置** - **IDE选择**:Eclipse 3.2 + MyEclipse 5.5。 - **Servlet Container*...

    Struts2的视频学习代码

    "Struts2-part01"可能包含的是该系列学习的第一部分内容,可能涵盖了Struts2的基础概念、环境搭建、Action的创建和执行、OGNL的基本使用等内容。通过学习这部分代码,开发者能够初步掌握Struts2的基本操作和工作原理...

Global site tag (gtag.js) - Google Analytics