说一说struts2 验证框架使用过程中遇到的问题

     说到struts2验证框架的使用,首先假定使用的时候已经有了对该框架的基本概念,即:
     1)知道该怎么编写待验证的jsp页面。
     2)知道该怎么编写jsp页面form表格所对应的Action类。
     3)知道怎么在struts.xml文件中配置Action。
     4)知道怎么编写Action类-validation.xml文件。

     知道了以上基本概念以后,就得注意以下几个方面的问题:
     1)Action类-validation.xml文件应该放在Action类所在的文件夹下。这样这个Action类-validation文件会被自动加载到该Action类对应的.class文件所在的文件夹下。在eclipse编程环境下.class文件看不到?可以在Navigation视图下查看。嗯,应该不只有我一个到现在才知道这事,哈哈哈。

     2)一般上面的这些问题很容易解决,但是如果是直接通过新建XML的方式编写的Action-validation.xml文件,那么很有可能发现自己配置的Action-validation.xml文件像空气一样的被无视掉~~各种非法输入提交以后还是直接跳到了success.jsp页面了好么。那么请检查自己的dtd文件引用吧。它应该出现在两个地方:

第一个地方:LoginAction-validation.xml文件中:

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE validators PUBLIC 

    "-//Apache Struts//XWork Validator 1.0.2//EN" 

    "http://struts.apache.org/dtds/xwork-validator-1.0.2.dtd">

  

<validators>

  <field name="userName">

    <field-validator type="requiredstring">

      <param name="trim">true</param>

      <message>必须输入用户名!</message>

    </field-validator>

  </field>

  

  <field name="password">

    <field-validator type="requiredstring">

      <param name="trim">true</param>

      <message>密码不能为空!</message>

    </field-validator>

  </field>  

</validators>




第二个地方:struts.xml文件中:

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE struts PUBLIC

    "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"

    "http://struts.apache.org/dtds/struts-2.3.dtd">

<struts>

<constant name="struts.i18n.encoding" value="UTF-8"/>

<constant name="struts.custom.i18n.resources" value="mess"/>


<package name="user" extends="struts-default">

<!-- 用户注册的Action -->

<action name="login" class="com.taiping.action.LoginAction">

<result name="input">/login.jsp</result>

<result>/welcome.jsp</result>

</action>

</package>

</struts>



弄完了以上这些以后,运行自己登陆的jsp页面:


不输入密码和姓名,直接提交:


页面会自动给出在Action类-validation.xml文件中所注册的错误信息。

   3)如果做完了这些发现自己的Action类-validation.xml文件还是被华丽丽地忽视了。那么请确认你现在所使用的dtd文件引用是目前最新的版本,反正我是在这一点上被坑了的,吐血。细心一点可以发现文中所用的dtd文件引用是一个网址,如果要是不能联网的话就应该引用本地的dtd文件。 
  4)最后,也是最基本的一点,请确认自己的Action类-validation.xml文件没有语法错误,如果错得太离谱的话,基本上就不会报错直接得不到正确结果好吗。嗯,不要问我怎么知道的,总之,菜菜的人生很艰辛的。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值