`
simpledev
  • 浏览: 196636 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

解决webwork客户端验证提示信息重复多次显示问题

阅读更多

1.我们在使用webwork验证,可以分为两种情况讨论,下面提到的是第一种情况:
   <!-- 第一种情况 服务器验证 + 验证提示信息位置 -->
   <!-- 不管action="test"或action="test.do" 都为服务器验证方式
    因为使用html标签<input name="Username" />,而不是<@ww.textfield label="Username" name="Username" />
    优点:验证提示信息不会在文本框附近显示,而集中显示在一个span中
   -->

  <span class="errorMessage" align="left">
      <@ww.iterator value="fieldErrors">
            <li><@ww.property value="value[0]"/></li>
      </@ww.iterator>
  </span>
  <@ww.form action="test" method="post" validate="true">
         Username:<input name="Username" /><br/>
         Birthday:<input name="Birthday" /><br/>
        <@ww.submit />
  </@ww.form>

 

第二种情况为:
 <!-- 我们编写代码的时候追求简单,当action="test"时webwork客户端验证方式时,验证提示信息会重复多次显示,
      解决方法是:在ftl页面中添加完整<html><head></head><body>...下面的代码...</body></html>,主要跟validation.js文件,clearErrorMessages(form);
      clearErrorLabels(form);两个方法与html标签结构完整性有关
   特点:验证提示信息显示在文本框上面


   当action="test.do"方式时,为服务器验证,不会生成validation.js文件,function验证代码(显示出来的页面->查看源文件)
   不管<html><head></head><body></body></html>是否存在,验证提示信息都不会重复多次显示
 -->

 <@ww.form action="test" method="post" validate="true">
      <@ww.textfield label="Username" name="Username" />
      <@ww.textfield label="Birthday" name="Birthday" />
      <@ww.submit />
 </@ww.form>

 

 下面看看action名字-validation.xml

 

<!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.2//EN" 
 "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
 <validators>
 <field name="Username">
  <field-validator type="requiredstring">
            <message>Username不能为空</message>
        </field-validator>
  </field>
 <field name="Birthday">
  <field-validator type="requiredstring">
            <message>Birthday不能为空</message>
        </field-validator>
  </field>
 </validators>

 
  归纳:只有在webwork客户端验证情况时,才会出现验证提示信息会重复多次显示问题,解决方法是:<html><head></head><body>...</body></html>编写代码完整.
       当webwork服务器端验证时,不会出现验证提示信息重复多次显示问题.
 提醒:action类继承ActionSupport

分享到:
评论
2 楼 SpearJava 2008-12-26  
第二种情况看不明白呀,希望simpledev能详细说明一下如何解决该问题
1 楼 bruce198 2008-07-18  
引用
<html><head></head><body>...</body></html>编写代码完整.


居然会是这个原因...

相关推荐

    struts入门教程

    3. **验证信息的国际化**:验证失败时的提示信息同样可以实现多语言支持,提高系统的可用性和用户友好度。 #### 六、拦截器浅析 1. **拦截器基础**:拦截器是Struts2的一个重要特性,它允许开发者在请求处理的各个...

    struts2 学习重点笔记

    - **减少 Action 调用**:合理设计 Action,避免不必要的多次调用。 - **缓存策略**:利用缓存机制减少数据库查询次数。 **5.2 安全性增强** - **输入验证**:确保所有输入数据经过严格的验证。 - **权限控制**:...

    Spring in Action(第2版)中文版

    7.5.2显示用户身份验证信息 7.6保护方法调用 7.6.1创建一个安全切面 7.6.2使用元数据保护方法 7.7小结 第8章spring和基于pojo的远程服务 8.1spring远程调用概览 8.2与rmi一起工作 8.2.1连接rmi服务 8.2.2...

    Spring in Action(第二版 中文高清版).part2

    7.5.2 显示用户身份验证信息 7.6 保护方法调用 7.6.1 创建一个安全切面 7.6.2 使用元数据保护方法 7.7 小结 第8章 Spring和基于POJO的远程服务 8.1 Spring远程调用概览 8.2 与RMI一起工作 8.2.1 连接RMI...

    Spring in Action(第二版 中文高清版).part1

    7.5.2 显示用户身份验证信息 7.6 保护方法调用 7.6.1 创建一个安全切面 7.6.2 使用元数据保护方法 7.7 小结 第8章 Spring和基于POJO的远程服务 8.1 Spring远程调用概览 8.2 与RMI一起工作 8.2.1 连接RMI...

Global site tag (gtag.js) - Google Analytics