首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Exception >

在struts中使用 <html:errors/>不会显示错误请问是错在哪里?

2014-01-26 
在struts中使用 html:errors/不会显示错误请问是错在哪里?我要使输入框不能为空 不然显示 不能为空! 但

在struts中使用 <html:errors/>不会显示错误请问是错在哪里?
  我要使输入框不能为空 不然显示 "不能为空!" 但是实际运行是我不输入内容点提交,页面刷新了一下就是没有显示文字.
  jsp代码:
  <%@ page contentType="text/html; charset=UTF-8" language="java" %>
  <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
  <html>
  <head>
  <title>
  jsp1
  </title>
  </head>
  <body bgcolor="#ffffff">
  <html:errors/>
  <html:form action="/tAction.do" focus="username">
  <html:text property="username" /><br>
  <html:submit property="submit" value="Submit">
  </html:submit>
  </html:form>
  </body>
  </html>
 
  tActionForm的validate方法代码是
  public ActionErrors validate(ActionMapping mapping,
      HttpServletRequest request) {
  ActionErrors errors=new ActionErrors();
  if((username==null)||(username.length()<1)){
  errors.add("ee",new ActionError("不能为空!"));
  return errors;
  }else{
  return null;
  }
 
  }
  Struts_config.xml代码:
  <?xml version="1.0" encoding="UTF-8"?>
  <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
  <struts-config>
  <form-beans>
  <form-bean name="tActionForm" type="errortest.tActionForm"/>
  </form-beans>
  <action-mappings>
  <action input="/jsp1.jsp" name="tActionForm" path="/tAction" scope="request" type="errortest.tAction" validate="true">
  <forward name="succe" path="/jsp2.jsp"/>
  </action>
  </action-mappings>
  </struts-config>

------解决方法--------------------------------------------------------
<html:errors/> 应该放到form里
  其实这种非空校验可以用javascript,节约服务器的资源
------解决方法--------------------------------------------------------
同意,用javascript验证这种东西较好,避免提交一次,浪费资源
------解决方法--------------------------------------------------------
new ActionError("不能为空!"));
 
  应为 new ActionError("errors.abc"));
 
  在 ApplicationResources.properties中         

热点排行