`
peonyzzdx
  • 浏览: 590628 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论

类型转换与输入校验的流程

    博客分类:
  • J2EE
 
阅读更多
类型转换与输入校验的流程
1、首先Struts2对客户端传来的数据进行类型转换
当数据类型转换不成功时:struts2会自带一个提示错误的信息,并且将该错误信息放到addFieldError(此方法是action类继承ActionSupport类中的方法)里面显示出来....但是它自带的提示信息对客户来说不友好....通常是程序员自己定义提示信息,定义的方式是:使用国际化提示文件(全局国际化文件或局部国际化文件):
一、全局国际化提示错误的文件(放在src目录下):文件名的格式为:message.properties

此文件里写:xwork.default.invalid.fieldvalue={0}error

注意:{0}中是动态的,是一个属性名,哪个属性出错了就显示哪个,显示的属性名填充{0}。
注意:使用全局国际化提示错误的文件时需要配置struts.xml。配置方法:在<struts></struts>标签中写<constantname="struts.custom.i18n.resources"value="message"></constant>注意:value的名字是生成全局国际化提示文件的文件名字。
二、局部国际化提示文件(针对指定的一个属性,放在action类的同包下面)文件名字为:action类.properties

此文件里写:invalid.fieldvalue.指定的属性名字=提示的信息(此处可以用汉字但必须在dos下用native2ascii命令转化)
一般情况下都使用局部提示文件。


2、类型转换完毕后再进入输入校验
action类中继承ActionSupport类可以使用ActionSupport中的方法validate()进行校验、此方法的作用是:验证是否为空、长度等!还有起提示作用的方法addFieldError("","")方法中两个参数一个是确定提示信息出现的位置,第二个是提示信息的内容。当验证不成功时就跳到一个原来的登陆页面、在struts.xml中定义的result的名字固定为input。但是一般的返回与struts.xml相连接的东西还是要出现在execute()方法中。。。
3、如果类型转换和输入校验都没有错误发生,那么进入execute方法
注意:如果类型转换不成功也要进行输入校验


[类型转换与输入校验的关系:先有类型转换再有输入校验]

类型转换与输入校验的流程:

1、首先struts2对客户端传来的数据进行类型转换;

2、类型转换完成(包括成功与不成功都需要进入输入校验)后,再进行输入校验;

3、如果类型转换和输入校验都没错误发生,则进入execute()进行执行(调用业务逻辑);



分享到:
评论

相关推荐

    Struts2输入校验总结

    #### 二、输入校验流程详解 输入校验的流程在Struts2中是结构化的,涉及多个步骤: 1. **类型转换**:首先,Struts2框架使用类型转换器将HTTP请求中的字符串参数转换为相应的Java类型,如Integer、Date等,并将...

    struts2类型转换 拦截器 校验的例子

    Struts2是一个强大的Java web框架,它为开发者提供了丰富的功能,包括类型转换、拦截器和校验机制。本文将深入探讨这些关键知识点,并通过实际例子来帮助你理解它们的工作原理和应用。 首先,我们来看看**类型转换...

    Struts2的输入校验

    在Struts2中,输入校验的流程如下: 1. 类型转换器:Struts2将接收到的字符串参数转换为相应的数据类型,并将这些值赋给Action的属性。如果在此过程中发生异常,异常信息会被保存并由`conversionError`拦截器处理。...

    struts2输入校验总结

    ### 二、输入校验流程 1. **类型转换器**: - Struts2的类型转换器会尝试将HTTP请求参数转化为Action类中属性的对应类型。 2. **异常处理**: - 在转换过程中如果出现异常,Struts2会将异常信息存储在`...

    struts2-处理类型转换

    在Struts2中,输入校验发生在类型转换成功后,且在`execute`方法执行之前。服务器端校验通常更为重要,因为它能防止恶意用户绕过客户端校验。 **编程式输入校验**涉及到覆盖`ActionSupport`类的`validate`方法,此...

    简易的C语言IP和校验程序

    该程序的主要功能包括:接收二进制形式的输入,对其进行处理后输出对应的校验码。下面将从程序的工作原理、核心算法以及实现细节等方面进行深入探讨。 ### 程序工作原理 #### 输入与输出 程序首先接受一个字符串...

    基于labviewCRC校验码

    这对于非编程背景的工程师来说,大大简化了CRC校验的使用流程。 总结一下,CRC校验码是数据通信中的重要工具,LabVIEW提供了直观的编程环境来实现CRC计算。CRC16是其中一种常用的校验码,通过LabVIEW中的特定VI或库...

    J2EE课堂小测试_答案

    涵盖了Struts2的运行原理、Action接口和ActionSupport类、Action的默认处理类、多动作处理、结果类型、全局结果和局部结果、属性驱动和模型...类型转换器、局部类型转换器和全局类型转换器、Struts2校验流程等知识点...

    一个crc-16校验的小程序

    5. **数据校验流程**:用户输入要校验的16进制数,程序首先将其转换为二进制,然后通过CRC-16算法计算校验码。计算完成后,将校验码以16进制字符串的形式返回给用户。如果用户需要验证其他数据,只需重复此过程。 6...

    PLC数据校验助手

    1. 奇偶校验计算:对输入的数据自动计算并添加奇偶校验位。 2. 校验位检测:接收到数据后,检查校验位是否正确,以确定数据是否完整无误。 3. 数据转换:支持不同格式的数据转换,如二进制、十进制、十六进制等。 4....

    checkcode生成文件_checkcode_校验码_

    这通常涉及获取用户输入的校验码,然后与服务器端存储的校验码进行比较。如果两者匹配,验证成功;如果不匹配,则提示用户重新输入。 通过研究这个压缩包中的文件,开发者可以了解到ASP平台下如何实现一个完整的...

    crc校验_labview实现crc16校验_labview做crc校验_LABIEW的CRC校验_labviewCRC16_C

    `crc校验.vi`这个VI可能包含了以上步骤的详细实现,通过连接LabVIEW的控件和指示器,将输入数据与CRC计算结果可视化展示。通过查看和分析这个VI,我们可以学习到如何在LabVIEW中手动构造CRC计算流程,并了解其内部...

    QT实现的 LRC校验工具

    这个QT工具的操作流程是:用户在文本输入框中输入16进制的数据,例如"00 01"。16进制数据通常用来表示二进制数据的简化形式,每两位16进制对应一位8位的二进制数。在这种情况下,"00"和"01"分别代表二进制的"0000 ...

    CRC校验位计算

    当接收方对数据进行同样的CRC计算并与发送方附加的校验位比较时,如果两者不一致,通常表明数据在传输中发生了错误。 CRC计算的核心是基于一个称为生成多项式的二进制多项式。这个多项式由发送方使用,并且是预先...

    java 利用POI对Execel表格的统一导入与校验(利用Hibernate Validator)

    3. **数据校验**: 数据校验是确保输入数据符合预设规则的过程。在Java中,我们通常使用注解和验证器框架,如Hibernate Validator。它实现了JSR-303/JSR-349标准,提供了一种声明式的方式来定义和执行校验规则。 4. ...

    struts2学习心得

    4. **校验流程**:在Struts2中,校验流程通常发生在执行Action之前。如果校验失败,则不会执行Action中的业务逻辑,而是直接返回一个错误页面或视图。 5. **错误消息展示**:Struts2支持区分Field Error(字段级别...

    Java计算校验和源码

    ##### 3.2 方法流程 1. **空值检查**:首先判断传入的字符串是否为`null`或空字符串。如果是,则直接返回空字符串。 ```java if (data == null || "".equals(data)) { return ""; } ``` 2. **初始化变量**...

    单位组织机构代码校验函数(oracle)

    通过上述分析可以看出,这个函数实现了一个完整的组织机构代码校验流程,不仅考虑到了基本的长度和格式要求,还通过特定的算法计算并验证了校验码的正确性。在实际应用中,这种类型的函数能够极大地提升数据处理的...

    CRC16校验计算器.zip

    用户无需自己转换数据格式,可以直接输入十六进制串,简化了操作流程。 标签"CRC16"进一步强调了该工具的功能焦点,即专门针对CRC16校验。CRC有多种不同的版本,如CRC8、CRC16、CRC32等,每种都有其特定的生成...

    万能坐标转换980

    5. **数据输入与输出**:"万能坐标转换980"可能支持多种格式的数据输入,如CSV、TXT、KML、GPX等,同时也能输出转换后的坐标数据。这种灵活性使得与其他GIS软件的兼容性得到增强。 6. **界面与用户体验**:良好的...

Global site tag (gtag.js) - Google Analytics