热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

struts2框架数据校验,表单不能显示错误提示。

我在登录界面的usernamepassword不输入任何值,为什么不会显示出错误提示呢<%@pagelanguagejavaimportjava.util.*
我在登录界面的username  password 不输入任何值,为什么不会显示出错误提示呢

<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<%@ taglib prefix="s" uri="/struts-tags"  %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>



  
    ">
    
    
    


    




  
  
  
    
    
        
        
        
    
  




package com.test.action;

import com.opensymphony.xwork2.ActionSupport;

@SuppressWarnings("serial")
public class LoginAction extends ActionSupport{
String username;
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;
}

public String execute(){
return "success";
}

@Override
public void validate() {
if(null == this.getUsername()||"".equals(this.getUsername().trim())){
this.addFieldError("username", "username required");
}
if(null == this.getUsername()||"".equals(this.getPassword().trim())){
this.addFieldError("password", "password required");
}
}
}




        "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
        "http://struts.apache.org/dtds/struts-2.0.dtd">


    
        
            /login2.jsp
            /result.jsp
        
    

21 个解决方案

#1


login2.jsp的内容呢,看看属性名对不对

#2


引用 1 楼 xsqure 的回复:
login2.jsp的内容呢,看看属性名对不对
有啊,第一部分就是啊,我加上都不显示错误提示

#3


username required 
password required
我这里有提示,你是怎么提交的
login2.jsp直接submit

#4


    public void validate() {
        if(null == this.getUsername()||"".equals(this.getUsername().trim())){
            this.addFieldError("username", "username required");
        }
        if(null == this.getUsername()||"".equals(this.getPassword().trim())){
            this.addFieldError("password", "password required");
        }
    }
换成这样看看

      public void validate() {
         if(null==username || "".equals(username.trim())){
            this.addFieldError("username","The username is blank!");
         }
         if(null==password||"".equals(password.trim())){
            this.addFieldError("password", "The password is blank");
         }
      }

#5


每天回帖即可获得10分可用分

#6


引用 4 楼 tian_song 的回复:
public void validate() {
  if(null == this.getUsername()||"".equals(this.getUsername().trim())){
  this.addFieldError("username", "username required");
  }
  if(null == this.getUsername()||"".equa……
肯定不行啊

#7


引用 3 楼 xsqure 的回复:
username required 
password required
我这里有提示,你是怎么提交的
login2.jsp直接submit

是不是struts版本不同的问题啊,我用的是2.2.1.1这个版本的,难道没有这个功能了?

#8


你的web.xml配置有问题,我用我的试过了可以。
你参考下我的web.xml配置:


xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">




struts-cleanup
org.apache.struts2.dispatcher.ActionContextCleanUp





struts2

org.apache.struts2.dispatcher.FilterDispatcher





struts-cleanup
/*



struts2
/*




index.jsp



#9


引用 6 楼 bluegreen315 的回复:
引用 4 楼 tian_song 的回复:
public void validate() {
if(null == this.getUsername()||"".equals(this.getUsername().trim())){
this.addFieldError("username", "username required");
}
if(null == this.getUser……


不会吧,我试了的 可以的  你再看看

#10


引用 7 楼 bluegreen315 的回复:
引用 3 楼 xsqure 的回复:
username required
password required
我这里有提示,你是怎么提交的
login2.jsp直接submit

是不是struts版本不同的问题啊,我用的是2.2.1.1这个版本的,难道没有这个功能了?

版本一样,我用的是tomcat7

#11


struts.xml配置文件有缺陷把,不能返回对应的错误页面导致错误不能显示,用debug标签试下看看stackvalue里面有对象没

#12


你会debug吗,看有没有执行validate方法

#13


引用 12 楼 zxingchao2009 的回复:
你会debug吗,看有没有执行validate方法

没有执行,为什么呢

#14


我的也没问题啊,可能楼主的配置问题,路径是不是错误!

#15


引用 14 楼 longq121 的回复:
我的也没问题啊,可能楼主的配置问题,路径是不是错误!

我是new一个XML文件写的struts.xml,产生如上问题,现在我换成new一个file写struts.xml就成功了,这是为什么呢

#16


QQ:75425364

#17


当然什么都不会显示,也不会报错了,你的HTML页面就没有和action关联,怎么会显示啊

#18


引用 17 楼 songhuidanoop 的回复:
当然什么都不会显示,也不会报错了,你的HTML页面就没有和action关联,怎么会显示啊

对你的答案我表示怀疑~~~

#19


你new的时候没有删除原来的那些声明吧。没当做struts的配置文件

#20


这么简单的错误我当初竟然也没看出来。。 是2次都判断的Username!!!

推荐阅读
  • 网站访问全流程解析
    本文详细介绍了从用户在浏览器中输入一个域名(如www.yy.com)到页面完全展示的整个过程,包括DNS解析、TCP连接、请求响应等多个步骤。 ... [详细]
  • 兆芯X86 CPU架构的演进与现状(国产CPU系列)
    本文详细介绍了兆芯X86 CPU架构的发展历程,从公司成立背景到关键技术授权,再到具体芯片架构的演进,全面解析了兆芯在国产CPU领域的贡献与挑战。 ... [详细]
  • 本文介绍了如何使用Python爬取妙笔阁小说网仙侠系列中所有小说的信息,并将其保存为TXT和CSV格式。主要内容包括如何构造请求头以避免被网站封禁,以及如何利用XPath解析HTML并提取所需信息。 ... [详细]
  • 本文介绍了 Go 语言中的高性能、可扩展、轻量级 Web 框架 Echo。Echo 框架简单易用,仅需几行代码即可启动一个高性能 HTTP 服务。 ... [详细]
  • Cookie学习小结
    Cookie学习小结 ... [详细]
  • 本文将介绍如何在混合开发(Hybrid)应用中实现Native与HTML5的交互,包括基本概念、学习目标以及具体的实现步骤。 ... [详细]
  • HTTP(HyperTextTransferProtocol)是超文本传输协议的缩写,它用于传送www方式的数据。HTTP协议采用了请求响应模型。客服端向服务器发送一 ... [详细]
  • 为什么多数程序员难以成为架构师?
    探讨80%的程序员为何难以晋升为架构师,涉及技术深度、经验积累和综合能力等方面。本文将详细解析Tomcat的配置和服务组件,帮助读者理解其内部机制。 ... [详细]
  • javascript分页类支持页码格式
    前端时间因为项目需要,要对一个产品下所有的附属图片进行分页显示,没考虑ajax一张张请求,所以干脆一次性全部把图片out,然 ... [详细]
  • 本文介绍了如何利用 `matplotlib` 库中的 `FuncAnimation` 类将 Python 中的动态图像保存为视频文件。通过详细解释 `FuncAnimation` 类的参数和方法,文章提供了多种实用技巧,帮助用户高效地生成高质量的动态图像视频。此外,还探讨了不同视频编码器的选择及其对输出文件质量的影响,为读者提供了全面的技术指导。 ... [详细]
  • 在JavaWeb开发中,文件上传是一个常见的需求。无论是通过表单还是其他方式上传文件,都必须使用POST请求。前端部分通常采用HTML表单来实现文件选择和提交功能。后端则利用Apache Commons FileUpload库来处理上传的文件,该库提供了强大的文件解析和存储能力,能够高效地处理各种文件类型。此外,为了提高系统的安全性和稳定性,还需要对上传文件的大小、格式等进行严格的校验和限制。 ... [详细]
  • DVWA学习笔记系列:深入理解CSRF攻击机制
    DVWA学习笔记系列:深入理解CSRF攻击机制 ... [详细]
  • CSS 百分比单位的取值依据是什么
    本文详细探讨了 CSS 中百分比单位的取值依据,包括不同定位方式下的包含块概念及其应用。通过具体的示例和代码,帮助读者更好地理解和掌握这一知识点。 ... [详细]
  • Spring Data JdbcTemplate 入门指南
    本文将介绍如何使用 Spring JdbcTemplate 进行数据库操作,包括查询和插入数据。我们将通过一个学生表的示例来演示具体步骤。 ... [详细]
  • 本文详细介绍了在 CentOS 7 系统中配置 fstab 文件以实现开机自动挂载 NFS 共享目录的方法,并解决了常见的配置失败问题。 ... [详细]
author-avatar
wjyyd1129
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有