`
peonyzzdx
  • 浏览: 583034 次
  • 性别: 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()进行执行(调用业务逻辑);



分享到:
评论

相关推荐

    Macbook录屏软件,KAP,开源免费

    Macbook上免费的,最简单好用的,干净清洁的,不占资源的录屏软件。 从某度上搜索“Macbook录屏软件”,前几页全部都是各种各样的收费软件 再从某度上搜索“Macbook 免费录屏软件”,还是会出现各种各样的收费软件推荐,然后会有OBS studio。obs也挺好的,不过osb操作有点复杂,对于只需要简单录屏来说,根本用不到obs stidio。

    pyzmq-25.0.2-cp310-cp310-musllinux_1_1_x86_64.whl

    Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    20石膏板吊顶工程.doc

    20石膏板吊顶工程

    算法部署-基于OpenVINO+Python部署YOLOv9目标检测算法-附项目源码+一键执行-优质项目实战.zip

    算法部署_基于OpenVINO+Python部署YOLOv9目标检测算法_附项目源码+一键执行_优质项目实战

    Python语言教程Python语言教程

    Python语言教程Python语言教程Python语言教程Python语言教程Python语言教程Python语言教程Python语言教程Python语言教程Python语言教程Python语言教程Python语言教程Python语言教程Python语言教程Python语言教程Python语言教程

    tensorflow-rocm-2.10.1.540-cp310-cp310-manylinux2014-x86-64.whl

    tensorflow安装

    CISCO 思科 固件 ASR1002-X asr1002x-universalk9.17.09.03a.SPA.bin

    CISCO 思科 固件 软件 IOS OS ASR1002-X asr1002x-universalk9.17.09.03a.SPA.bin

    grpcio-1.24.3-cp34-cp34m-win32.whl

    Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    协同过滤推荐项目+源代码+文档说明

    - 不懂运行,下载完可以私聊问,可远程教学 该资源内项目源码是个人的毕设,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! <项目介绍> 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 --------

    JavaScript js运算符 示例代码

    本资源文件是js运算符相关学习代码的示例 包含算术运算符、比较运算符、逻辑运算符等 JavaScript 是一种广泛使用的脚本语言,主要用于网页和Web应用程序的客户端开发。 JavaScript(简称JS)是一种轻量级、解释型、动态类型的脚本语言,主要用于网页前端开发,但也被广泛用于服务器端和移动应用开发。它最初由Netscape公司的Brendan Eich在1995年为Netscape Navigator浏览器设计,目的是增强网页交互性。 JavaScript 是一种广泛使用的脚本语言,主要用于网页和Web应用程序的客户端开发。 JavaScript(简称JS)是一种轻量级、解释型、动态类型的脚本语言,主要用于网页前端开发,但也被广泛用于服务器端和移动应用开发。它最初由Netscape公司的Brendan Eich在1995年为Netscape Navigator浏览器设计,目的是增强网页交互性。 JavaScript 是一种广泛使用的脚本语言,主要用于网页和Web应用程序的客户端开发。 JavaScript(简称JS)是一种轻量级、解释型、动态类型的脚本语言,主要用于网页前端

    pyzmq-25.0.0-cp39-cp39-musllinux_1_1_x86_64.whl

    Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    debugpy-1.8.1-cp38-cp38-macosx_11_0_x86_64.whl

    Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    Paragon NTFS for mac无限试用的办法和工具

    亲测15.10.590版本是可以用的,其他版本理论上也可以;本工具可以在该软件试用期已经过期的情况下重新获取10天试用期

    基于ssm框架小型企业办公自动化系统毕业论文

    第1章 绪论 1 1.1 课题背景 1 1.2 课题意义 1 1.3 研究内容 2 第2章 开发环境与技术 3 2.1 MYSQL数据库 3 2.2 JSP技术 3 2.3 SSM框架 4 2.4 Vue框架 4 第3章 系统分析 6 3.1 可行性分析 6 3.1.1 技术可行性 6 3.1.2 经济可行性 6 3.1.3 操作可行性 6 3.2 系统流程 7 3.2.1 操作流程 7 3.2.2 登录流程 7 3.2.3 删除信息流程 8 3.2.4 添加信息流程 9 3.3 性能需求 9 3.4 功能需求 10 第4章 系统设计 15 4.1 设计原则 15 4.2 功能结构设计 15 4.3 数据库设计 17 4.3.1 数据库概念设计 18 4.3.2 数据库物理设计 21 第5章 系统实现 26 5.1 管理员功能实现 26 5.1.1 部门经理管理 26 5.1.2 总经理管理 26 5.1.3 审批流程管理 27 5.1.4 通知公告管理 27 5.2 部门经理功能实现 28 5.2.1 员工管理 28 5.2.2 员工留言管理 28 5.2.3 员工工资管理 29 5

    ferry开源工单系统源代码

    工单系统相关功能: 工单提交申请 工单统计 多维度工单列表,包括(我创建的、我相关的、我待办的、所有工单) 自定义流程 自定义模版 任务钩子 任务管理 催办 转交 手动结单 加签 多维度处理人,包括(个人,变量 (创建者、创建者负责人)) 排他网关,即根据条件判断进行工单跳转 并行网关,即多个节点同时进行审批处理 通知提醒(目前仅支持邮件) 流程分类管理 权限管理相关功能,使用 casbin 实现接口权限控制: 用户、角色、岗位的增删查改,批量删除,多条件搜索 角色、岗位数据导出 Excel 重置用户密码 维护个人信息,上传管理头像,修改当前账户密码 部门的增删查改 菜单目录、跳转、按钮及 API 接口的增删查改 登陆日志管理 左菜单权限控制 页面按钮权限控制 API 接口权限控制v

    网络安全相关的密码学.docx

    网络安全相关的密码学是保护信息在存储、传输和处理过程中免受未经授权访问和篡改的关键技术。以下是对网络安全中密码学的清晰介绍,包括其基本概念、加密算法、应用场景和重要性等方面的内容: 一、密码学基本概念 密码学是研究秘密通信的科学与技术,是实现安全信息交换的基础。 密码学主要分为密码编码学和密码分析学。密码编码学主要研究对信息编码,实现对信息的隐蔽;而密码分析学则主要研究加密消息的破译或信息的伪造。 密码系统由明文空间、密文空间、密码方案和秘钥空间组成。其中,明文是未经加密的原始信息;密文是经过伪装后的明文;密码方案包括加密算法和解密算法;秘钥是加密和解密算法的操作在称为秘钥的元素的控制下进行。 二、加密算法 对称加密算法:主要特点是加解密使用同一个密钥,且加密解密速度较快。常见的对称加密算法包括DES(数据加密标准)、AES(高级加密标准)和RC4等。其中,DES的密钥长度为56位,但已经容易被暴力破解;而AES支持128位、192位和256位密钥长度,安全性较高。 非对称加密算法:使用一对密钥:公钥与私钥。加密使用公钥,解密使用私钥。R

    ssm美食推荐管理系统源码

    这份文档是一篇关于开发美食推荐管理系统的毕业设计论文。论文详细介绍了该系统的研究背景、现状、设计目标、需求分析、设计方案、实现过程以及系统测试。以下是对文档内容的简介: - **研究背景**:随着信息科学化的发展,科学化的管理在提高工作效率和促进发展方面的重要性日益凸显。 - **开发技术**:系统采用JSP技术进行开发,后台数据库使用MySQL,系统架构遵循B/S(浏览器/服务器)结构。 - **主要用户**:系统的主要使用者包括管理员和普通用户,为他们提供个性化的界面和服务。 - **功能模块**:系统包含多个功能模块,如管理员的用户管理、美食分类管理、热门美食管理、美食教程管理、美食店铺管理、美食社区和系统管理等;用户则可以进行个人中心管理、美食教程管理、我的收藏管理等。 - **系统设计**:文档详细论述了系统的设计过程,包括需求分析、系统架构设计、数据库设计等。 - **系统测试**:论文对系统测试的意义、测试方法和测试分析进行了详细说明,确保系统功能完善、操作简便、运行稳定。 - **结论**:作者通过开发美食推荐管理系统,体会到了学习新技术的重要性和实践经验

    MAVEN 教程和详细讲解

    MAVEN 教程和讲解

    CCT-VB2021(上)模拟考试(2)

    CCT-VB2021(上)模拟考试(2)

    VSCodeConfigHelper.exe

    一个自动化配置vscode c/c++的实用工具

Global site tag (gtag.js) - Google Analytics