struts2的表单验证 ,消息处理学习笔记

本文详细介绍了Struts2框架中的表单验证方法,包括声明式验证与编程式验证的过程与配置。阐述了如何设置验证规则、错误消息的显示及国际化,并提供了具体的配置示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

表单的验证

一.struts2 的验证有两种

  1.声明式验证 :
    1)对哪个Action 或 Model 的那个字段验证
    2) 使用什么验证规则
    3) 如果验证失败,调到哪个页面,显示什么消息
    
   2.编程式验证
   
  <一>
        (1)先明确对哪个Action字段进行验证:例 age
        (2)配置文件
     E:\web开发的一些例子和工具\各类架包\struts-2.3.16.3\apps\struts2-blank\WEB-INF\classes\example下的login_validation.xml
     login 改为 Action名字
         (3)编写规则:参见E:\web开发的一些例子和工具\各类架包\struts-2.3.16.3\docs下的
                    validation.html
         (4)在配置文件名中定义错误消息显示 
              <field name="username">
        <field-validator type="int">
          <param name="min">20</param>
          <param name="max">50</param>
          
           <message>age between ${min} to ${max}</message>
       </field-validator>
       </field>
 (5)该消息能呗国际化吗?
 
          <message key="error.int"></message>
  在键值对中(i18n.properties)   error.int = age between ${min} to ${max}
 或者 获取国际资源的关键字方法(用getText(关键字))。
 error.int =  ${getText(fieldName)} between ${min} to ${max}
     <二>若验证失败,则转向input的那个result,所配置的name = "input".
    
     <三>如何显示错误消息呢?
        >若是用的是非simple主题、则自动显示
        >若使用的是simple ,则要用  <s:fielderror fieldname="age"/> 标签 ,或直接用EL表达式${fieldErrors.age}
     <四>若是一个Action对应一个验证文件:  ActionclassName-validation.properties
                    每个不同的Action对应不同的验证文件: ActionclassName-AliasName-validation.properties
     <五> Struts2默认了一个拦截器 validation
          >每个具体的验证规则都对应这一个验证器                   
      <六> 短路验证:            
                    <field name="username">
        <field-validator type="conversion" short-circiut="true"> 
                   <message>age between ${min} to ${max}</message>  
                    </field-validator>
                     
                     
        <field-validator type="int">
          <param name="min">20</param>
          <param name="max">50</param>
           <message>age between ${min} to ${max}</message>
       </field-validator>
       

       </field>




内容概要:本文档主要展示了C语言中关于字符串处理、指针操作以及动态内存分配的相关代码示例。首先介绍了如何实现键值对(“key=value”)字符串的解析,包括去除多余空格和根据键获取对应值的功能,并提供了相应的测试用例。接着演示了从给定字符串中分离出奇偶位置字符的方法,并将结果分别存储到两个不同的缓冲区中。此外,还探讨了常量(const)修饰符在变量和指针中的应用规则,解释了不同类型指针的区别及其使用场景。最后,详细讲解了如何动态分配二维字符数组,并实现了对这类数组的排序与释放操作。 适合人群:具有C语言基础的程序员或计算机科学相关专业的学生,尤其是那些希望深入理解字符串处理、指针操作以及动态内存管理机制的学习者。 使用场景及目标:①掌握如何高效地解析键值对字符串并去除其中的空白字符;②学会编写能够正确处理奇偶索引字符的函数;③理解const修饰符的作用范围及其对程序逻辑的影响;④熟悉动态分配二维字符数组的技术,并能对其进行有效的排序和清理。 阅读建议:由于本资源涉及较多底层概念和技术细节,建议读者先复习C语言基础知识,特别是指针和内存管理部分。在学习过程中,可以尝试动手编写类似的代码片段,以便更好地理解和掌握文中所介绍的各种技巧。同时,注意观察代码注释,它们对于理解复杂逻辑非常有帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值