ybbzbb
一步一步的走
在配置的时候,注意:
  1. 文件放在action的同级目录中
  2. 文件命名action类名+方法名(struts2配置文件中的访问名)+validation  : 这个action都使用的话,中间的不写
 
在今天工作的时候,遇到了问题:
  1. 再request()中获取数据(String name = request().getParameter("name");) 这样的值,在表单验证器中是无法正常的使用。
             <field name="name"> 
                     <field-validator type="requiredstring"> 
                     <param name="trim">true</param> 
                     <message>必须输入用户名</message> 
                     </field-validator> 
              </field>
 
       这个数据经过这个表单验证器的时候,会触发这个字段的验证。可是会一直空的,因为他根本就没有值。因为:
struts2,action里的属性名字要跟页面的标签名字一样,这样才能通过set,get方法获取。而这是struts2中的表单验证,所有你只有再 action中 定义属性给上get() set().

2,上面这个问题是一般比较大众的问题。而下面的这个问题久有点“奇葩”,因为很少有人这样写。而我就犯了这样的错,它的体现是:再验证上,和输入真确的情况下都是没有错误的。主要是它在“回显”时就会出现问题。在我时错误的情况下,我回到我的页面。而发现我的值都没有了,就是我那些初始化的值。
     我在网上找了很久,都没有我要的答案。而从开始分析: 现在比如我们要到一个修改用户信息页面去,
     1,我们要开始查询信息,放入作用域中,到页面时显示出来。
     2,我们进入页面后开始初始化(这种很不常用)
那么我们的问题“回显”没有值的问题,大部分就出问题就在 : 1, 我查询了数据放入 A集合中,提交数据的时候使用B集合提交。呵呵,这是不是很难出现的错误。 因为struts2的机制就是到这个页面,并没有将请求的数据消除。而是再次提交的时候进行处理,这个时候我们的提交数据发生了错误。它就是将数据回到原来...你原来的数据就出来了,不过这种错误真的会很少见。
posted on 2015-11-17 21:43  ybbzbb  阅读(324)  评论(0编辑  收藏  举报