`
leiwuluan
  • 浏览: 707314 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

Struts 的友好报错的实现

阅读更多

这个例子是的功能是:当你在文本框中输入后。点击确定。如果文本框中是空的就在本页上提示“不能为空”

页面代码如下:

<%@ page contentType="text/html; charset=UTF-8" language="java"%>

<%@ taglib  uri="/WEB-INF/struts-html.tld" prefix="html"%>

<%@ taglib  uri="/WEB-INF/struts-bean.tld" prefix="bean"%>

<%@ taglib  uri="/WEB-INF/struts-logic.tld" prefix="logic"%>

<html:html>

       <head>

              <title>我的联系地址</title>

       </head>

       <body>

              <html:errors/>

              <html:form action="">

                     <html:text property="userName"></html:text>

                     <html:password property="password"></html:password>

                     <html:submit/><html:reset/>

              </html:form>

       </body>

</html:html>

 

其中<html:errors/>是用来显示出现的错误的

在判断是否为空有两种方法1是在ActionForm中时行判断2是在FormAction中的业务中进行判断:如下是有ActionForm中的判:

package com.buat.actionForm;

 

import javax.servlet.http.HttpServletRequest;

 

import org.apache.struts.action.ActionErrors;

import org.apache.struts.action.ActionForm;

import org.apache.struts.action.ActionMapping;

import org.apache.struts.action.ActionMessage;

 

public class LoginForm extends ActionForm {

      

       private String userName;

       private String password;

       public ActionErrors validate(ActionMapping mapping,

                     HttpServletRequest request) {

              ActionErrors errors=new ActionErrors();

              if(userName==null||"".equals(userName)||password==null||"".equals(password)){

                     errors.add("errors",new ActionMessage("login.login.errors"));

              }

              return errors;

       }

       public void reset(ActionMapping mapping, HttpServletRequest request) {

              this.userName=null;

              this.password=null;

       }

       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;

       }

}

如上红色的代码就是当你提交的时候判断的如果为空那么就返回错误

其中用到了两个类1ActionErrors 用于存错误的集合:

2ActionMessage代表一个错误的信息。其中的构造参数里的信息是写在资源文件中的.在这里只是用到它的一个key

2在下面用到的就是在业务中时行判断的代码如下:

/*

 * Generated by MyEclipse Struts

 * Template path: templates/java/JavaClass.vtl

 */

package struts.action;

 

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.Action;

import org.apache.struts.action.ActionForm;

import org.apache.struts.action.ActionForward;

import org.apache.struts.action.ActionMapping;

import org.apache.struts.action.ActionMessage;

import org.apache.struts.action.ActionMessages;

 

import struts.form.LoginForm;

 

public class LoginAction extends Action {

 

       public ActionForward execute(ActionMapping mapping, ActionForm form,

                     HttpServletRequest request, HttpServletResponse response) {

              LoginForm loginForm = (LoginForm) form;// TODO Auto-generated method stub

              String id = loginForm.getId() ;

              String password = loginForm.getPassword() ;

              //错误的集合类

              ActionMessages errors = new ActionMessages() ;

              boolean b = true ;

              if(id==null||id.length()==0)

              {

                     b=false ;

                     errors.add("errorid",new ActionMessage("error.id")) ;

              }

              if(password==null||password.length()==0)

              {

                     b=false ;

                     errors.add("errorps",new ActionMessage("error.ps")) ;

              }

             

              if(!id.equals("admin")||!password.equals("123"))

              {

                     if(b==true)

                     {

                     errors.add("errore",new ActionMessage("error.e"));

              }

              }

              if(!errors.isEmpty())

              {

                     //错误被注入

                     //传递错误到页面

                     super.saveErrors(request, errors) ;

                     return mapping.findForward("login") ;

              }

              return mapping.findForward("ok");

       }

}

如上就是在业务处理中使用的:

其中也用到了两个类:1ActionMessages代表多个信息的集合

2ActionMessage代表一个信息的集合

红色的部分的意思是将错误信息存入。然后再转到输入页面

分享到:
评论

相关推荐

    Struts2 框架搭建(基本)和几个报错问题

    在本文中,我们将深入探讨Struts2的基本搭建过程以及可能遇到的一些常见报错问题。 ### Struts2框架搭建步骤 1. **环境准备**:首先确保你的开发环境中已经安装了JDK和Apache Tomcat服务器。同时,为了进行开发,...

    Struts 友好错误提示

    "Struts 友好错误提示"这个主题聚焦于如何在Struts框架中实现优雅的错误处理,以向用户展示定制的错误信息,而不是默认的系统错误页面。 首先,了解Struts的工作原理至关重要。Struts框架通过拦截器(Interceptor)...

    jsp项目开发实录 Struts 实现 程序完整Struts 实现 程序完整

    jsp项目开发实录 jsp项目开发实录 Struts 实现 程序完整 Struts 实现 程序完整 Struts 实现 程序完整 Struts 实现 程序完整Struts 实现 程序完整Struts 实现 程序完整Struts 实现 程序完整Struts 实现 程序完整...

    JAVA struts+hibernate实现的网络购物系统.zip

    JAVA struts+hibernate实现的网络购物系统JAVA struts+hibernate实现的网络购物系统JAVA struts+hibernate实现的网络购物系统JAVA struts+hibernate实现的网络购物系统JAVA struts+hibernate实现的网络购物系统JAVA ...

    struts2 mysql实现简单学生成绩管理代码

    本项目利用Struts2与MySQL数据库结合,实现了一个简易的学生成绩管理系统,旨在帮助初学者了解如何在实际项目中应用这两个技术。 在Struts2框架中,控制器负责接收用户的请求,通过Action类处理业务逻辑,并将结果...

    struts2实现文件下载功能

    在这个“Struts2实现文件下载功能”的示例中,我们将深入探讨如何利用Struts2框架来实现在web应用中让用户下载文件的功能。 首先,我们需要理解文件下载的基本原理。在Web应用中,当用户点击一个链接或提交一个表单...

    struts2 完美实现 标签分页

    在这个“Struts2 完美实现 标签分页”的项目中,我们主要关注如何在Struts2框架下实现高效的分页功能,并利用自定义标签来提供友好的用户界面。 分页是Web应用中常见的需求,它有助于提高用户体验,特别是当处理...

    struts2实现用户登录注册

    总的来说,"struts2实现用户登录注册"项目涵盖了Web开发中的多个关键点:前端表单处理、后端业务逻辑、数据库交互以及安全性考虑。通过实践这个项目,开发者可以深入理解Struts2框架的工作原理,以及如何在实际开发...

    STRUTS2验证码实现

    struts2图形验证码实现,两个实现类,和你一个action类

    Struts2 分页实现

    本实践项目旨在展示如何在Struts2中实现分页功能,适用于初学者学习和提升技能。 首先,我们来了解分页的基本原理。分页是将大量数据分成若干小部分,每次只加载一部分到页面上,用户可以通过导航按钮来浏览其他...

    struts2的Ajax实现注册验证

    总的来说,Struts2和Ajax的结合使用使得Web应用能够提供更快速、更直观的用户交互,而这个代码和jar包组合可能就是实现这一目标的一个实例。通过阅读提供的文档和使用示例,你可以深入了解并实践这一技术,从而提升...

    struts2-json包集合 不会出现任何报错

    在标题中提到的"struts2-json包集合 不会出现任何报错",意味着这个压缩包集合包含了一组兼容的Struts2和JSON相关的库,可以避免常见的错误,特别是`textutils class找不到`的问题。 在描述中,提到了几个关键的包...

    Struts+Hibernate实现用户登录案例

    在Java Web开发中,"Struts+Hibernate实现用户登录案例"是一个常见的应用场景,它结合了两个重要的技术框架:Struts和Hibernate。Struts是MVC(Model-View-Controller)设计模式的一种实现,用于处理用户的请求和...

    org.apache.struts缺少所需包

    import org.apache.struts.action.ActionForm;import org.apache.struts.action.ActionForward;import org.apache.struts.action.ActionMapping;import org.apache.struts.actions.DispatchAction等缺少

    解决Struts2中下载文件时点击取消按钮后台报错问题

    不过,对于解决上述问题,我们的核心关注点在于Struts2的Action实现。 总结来说,解决Struts2中下载取消报错问题的关键在于正确管理和控制文件流,确保在客户端取消下载时,服务器能够及时响应并终止操作。通过监控...

    java动态验证码Struts2集成实现

    java动态验证码Struts2集成实现

    Struts1.2 formfile实现批量上传

    在Struts1.2框架中,FormFile是用于处理文件上传的一个关键组件,尤其是在实现批量上传功能时。本文将深入探讨如何使用FormFile在Struts1.2中实现实现批量文件上传,以及相关的技术要点。 一、Struts1.2简介 Struts...

    struts2整合spring实现拦截器

    在本文中,我们将深入探讨如何实现Struts2与Spring的集成,以及利用拦截器来增强应用的功能。 首先,Struts2 是一个基于MVC设计模式的开源Web框架,它提供了强大的控制器层,使得开发者可以更方便地处理HTTP请求和...

    论坛系统项目(Struts 2+Hibernate+Spring实现)

    论坛系统项目(Struts 2+Hibernate+Spring实现)论坛系统项目(Struts 2+Hibernate+Spring实现)论坛系统项目(Struts 2+Hibernate+Spring实现)论坛系统项目(Struts 2+Hibernate+Spring实现)论坛系统项目(Struts...

    Struts2实现分页查询

    用Struts2+mysql实现的简单信息录入,分页查询

Global site tag (gtag.js) - Google Analytics