当前位置: 首页 > news >正文

做中英文网站要注意什么旅游社网站建设规划书

做中英文网站要注意什么,旅游社网站建设规划书,淄博网站推广优化,微信app开发需要多少钱Spring MVC 数据绑定数据类型转换数据格式化数据校验 附 数据绑定 数据绑定#xff0c;指 Web 页面上请求和响应的数据与 Controller 中对应处理方法上的对象绑定#xff08;即是将用户提交的表单数据绑定到 Java 对象中#xff09;。 过程如下#xff1a; ServletRequest… Spring MVC 数据绑定数据类型转换数据格式化数据校验 附 数据绑定 数据绑定指 Web 页面上请求和响应的数据与 Controller 中对应处理方法上的对象绑定即是将用户提交的表单数据绑定到 Java 对象中。 过程如下 ServletRequest 对象会传递给 WebDataBinderFactory 对象同时目标方法的入参对象也会传递给 WebDataBinderFactory 对象。而 WebDataBinderFactory 对象会根据传递的参数来创建 DataBinder 对象DataBinder 对象会调用 ConversionService 组件进行数据类型转换或格式化然后再将 Servlet 中的请求信息填充到 Controller 中对应处理方法上的入参对象里DataBinder 对象接着调用 Validator 组件对已经绑定的请求信息的入参对象进行数据合法性校验并且生成数据绑定结果 BindingResult 对象校验的结果都存放在 BindingResult 对象里DataBinder 对象可以将其赋给处理方法的相应入参上 数据类型转换 请求的数据和响应的数据是需要进行数据类型转换的。在 Spring MVC 的 ConversionService 组件中包含了许多 Spring MVC 内建的转换器可以完成绝大部分的 Java 类型转换工作。当然也可以创建自定义转换器利用 ConversionServiceFactoryBean 在 Spring IoC 容器中定义一个 ConversionService 。Spring 将自动识别自定义的 ConversionService 并且在 Bean 属性配置与 Spring MVC 处理方法的入参绑定数据中自动调用自定义转换器来进行数据类型转换。 数据格式化 通常使用数据格式化的方式将字符串类型转换为日期类型。 简单示例 在上一章 Spring Spring MVC JDBCTemplate 的整合案例基础上增加对象的日期属性和实现添加功能 1.使用 DateTimeFormat(pattern “yyyy-MM-dd”) 注解将字符串类型转换为日期类型 添加方法实现类如图 在 controller 层中通过 RESTful 风格添加用户信息 package cn.edu.springmvcdemo.controller;import cn.edu.springmvcdemo.model.User; import cn.edu.springmvcdemo.service.UserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod;import java.util.List;Controller public class UserController {Autowiredprivate UserService userService;RequestMapping(value /users,method RequestMethod.GET)public String getSelectAll(Model model){//查看ListUser users userService.selectAll();model.addAttribute(users,users);//新增model.addAttribute(user,new User());return user;}RequestMapping(value /user,method RequestMethod.POST)public String addUser(User user){userService.add(user);return redirect:/users;} }在 user.jsp 中添加以下内容 brbrbr form:form action${pageContext.request.contextPath}/user methodpost modelAttributeuser用户姓名form:input pathname / br用户年龄form:input pathage / br用户班级form:input pathgrade / br入学日期form:input pathdate / brinput typesubmit value添加 /form:form另外为了防止中文乱码需要在 web.xml 配置文件中添加以下配置 !-- 防止出现中文乱码配置 -- filterfilter-nameencoding/filter-namefilter-classorg.springframework.web.filter.CharacterEncodingFilter/filter-classinit-paramparam-nameencoding/param-nameparam-valueutf-8/param-value/init-param /filter filter-mappingfilter-nameencoding/filter-nameurl-pattern/*/url-pattern /filter-mapping还有日期数据在前端传递给后端可以正常获取但是后端插入数据库后会相差一天。在 jdbc.properties 配置文件中将 serverTimezoneUTC 改成 serverTimezoneAsia/Shanghai 即可 注UTC 为世界统一时间比北京时间早8个小时 结果如图 2.创建一个使用 InitBinder 注解的数据格式化通用类需要日期格式化的 controller 类继承即可 package cn.edu.springmvcdemo.controller;import org.springframework.beans.propertyeditors.CustomDateEditor; import org.springframework.web.bind.WebDataBinder; import org.springframework.web.bind.annotation.InitBinder;import java.text.SimpleDateFormat; import java.util.Date;//设置数据格式化通用类 public class CurrencyController {InitBinderpublic void initBinder(WebDataBinder webDataBinder){SimpleDateFormat simpleDateFormat new SimpleDateFormat(yyyy-MM-dd);//设定为合法的日期格式simpleDateFormat.setLenient(false);//注册到编辑器中webDataBinder.registerCustomEditor(Date.class,new CustomDateEditor(simpleDateFormat,false));} }其他不变controller 类继承数据格式化通用类和注释 DateTimeFormat(pattern “yyyy-MM-dd”) 注解 结果如图 数据校验 数据校验是为保证数据完整性进行的一种验证操作。下面简单介绍使用 JSR-303 进行验证。 JSR-303Java Specification Requests Java 规范提案是 Java 标准的验证框架。JSR-303 的校验是基于注解的注解标记在需要验证的实体类的属性或 get() 方法后将自动进行验证。 常用校验注解 注解说明Null空检查。验证对象是否为 NULLNotNull空检查。验证对象是否不为 NULL 无法查检长度为0的字符串NotBlank空检查。检查约束字符串是否为 NULL 和删除前后空格的长度是否大于0NotEmpty空检查。检查约束元素是否为 NULL 或 EMPTYPast日期检查。验证 Date 和 Calendar 对象是否在当前时间之前验证通过的时间必须是过去的Future日期检查。验证 Date 和 Calendar 对象是否在当前时间之后验证通过的时间必须是未来的DecimalMax数值检查。验证通过的值不会大于约束中指定的最大值小数存在精度DecimalMin数值检查。验证通过的值不会小于约束中指定的最小值小数存在精度Email数值检查。验证是否为邮件地址。若为 NULL 不用验证就可以通过 简单示例 在上面添加用户案例的基础上进行数据校验 首先在 pom.xml 中添加以下依赖 !-- https://mvnrepository.com/artifact/org.hibernate.validator/hibernate-validator -- dependencygroupIdorg.hibernate.validator/groupIdartifactIdhibernate-validator/artifactIdversion6.2.5.Final/version /dependency!-- https://mvnrepository.com/artifact/org.hibernate.validator/hibernate-validator-annotation-processor -- dependencygroupIdorg.hibernate.validator/groupIdartifactIdhibernate-validator-annotation-processor/artifactIdversion6.2.5.Final/version /dependency接着在实体类的属性上加上校验注解 然后在 controller 类的添加用户方法上的参数前使用 Valid 注解并使用 BindingResult 对象获取校验结果 RequestMapping(value /user,method RequestMethod.POST) //注这两个参数必须紧靠着即当有第三个参数时第三个参数不能放在这两个参数的中间 public String addUser(Valid User user, BindingResult bindingResult,Model model){//当不符合数据校验时结果存放在 bindingResult 中if(bindingResult.getErrorCount() 0){//遍历获取for (FieldError fieldError:bindingResult.getFieldErrors()){System.out.println(校验结果 fieldError.getField() fieldError.getDefaultMessage());}//添加数据不符不作添加并返回//查看ListUser users userService.selectAll();model.addAttribute(users,users);return user;}userService.add(user);return redirect:/users; }随之在 user.jsp 上使用 form:errors 标签把校验结果进行回显 form:form action${pageContext.request.contextPath}/user methodpost modelAttributeuser用户姓名form:input pathname / form:errors pathname / br用户年龄form:input pathage / form:errors pathage / br用户班级form:input pathgrade / form:errors pathgrade / br入学日期form:input pathdate / form:errors pathdate / brinput typesubmit value添加 /form:form最后测试结果 结果如图 一般使用默认的校验结果进行回显即可。当然也可以自定义回显信息。 1.使用校验注解中的 message 属性即可但出现英文结果是无法自定义回显的 2.使用国际化配置文件配置自定义回显信息 在 Spring MVC视图与视图解析器的文章中配置国际化资源文件案例的基础上在 i18n.properties 配置文件下添加以下内容 注一般为注解名实体类名首字母小写属性名数据类型转换错误信息时则为 typeMismatch 实体类名首字母小写属性名 NotEmpty.user.grade国际化资源文件配置结果该信息不能为空 typeMismatch.user.date国际化资源文件配置结果该信息不能为空结果如图 附 在 Spring MVC 中在 Controller 层中经常使用 RequestBody 和 ResponseBody 注解将 Java 对象在 Controller 层中直接作为请求参数和返回内容。下面实现 JSON 数据返回。 简单示例 首先在 pom.xml 中添加以下依赖 !-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core -- dependencygroupIdcom.fasterxml.jackson.core/groupIdartifactIdjackson-core/artifactIdversion2.12.0/version /dependency!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-annotations -- dependencygroupIdcom.fasterxml.jackson.core/groupIdartifactIdjackson-annotations/artifactIdversion2.12.0/version /dependency!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind -- dependencygroupIdcom.fasterxml.jackson.core/groupIdartifactIdjackson-databind/artifactIdversion2.12.0/version /dependency接着在 controller 类上添加以下方法 RequestMapping(value jsonViewTest) public String jsonViewTest(){return json; }ResponseBody RequestMapping(value jsonTest,method RequestMethod.GET) public ListUser jsonTest(){ListUser users userService.selectAll();System.out.println(users);return users; }然后创建 json.jsp 。同时在 src\main\webapp\resources\js\jquery 的目录下导入 jquery-2.1.2.js 文件点击下载获取 %--Created by IntelliJ IDEA.User: dellDate: 2023/8/8Time: 15:55To change this template use File | Settings | File Templates. --% % page contentTypetext/html;charsetUTF-8 languagejava % html headscript typetext/javascript src${pageContext.request.contextPath}/resources/js/jquery/jquery-2.1.2.js /script typetext/javascript$(function () {$(#jsonid).click(function(){var href this.href;var args {};$.post(href,args,function (data) {alert(data);})return false;})/script /head bodya idjsonid href${pageContext.request.contextPath}/jsonTest 获取 json 数据格式的所有用户信息/a /body /html最后测试结果 1.点击获取 2.结果如图
http://www.w-s-a.com/news/628627/

相关文章:

  • 门户网站的种类php网站开发实训心得
  • 流程图制作网页网络优化seo
  • 个人公益网站怎么制作wordpress flat theme
  • 做营销型网站的公司篇高端网站愿建设
  • 五莲网站建设维护推广凡科做网站的方法
  • 山东省住房建设厅网站首页网站文章更新怎么通知搜索引擎
  • 商务网站的可行性分析包括大流量网站 优化
  • 推广网站有效的方法网站数据统计
  • 自建视频网站WordPress数据库添加管理员
  • 新民电商网站建设价格咨询网站建设高效解决之道
  • 做网站需要哪些步骤网站设计介绍
  • 物流网站制作目的国外中文网站排行榜单
  • 苏州网站建设招标网站ftp的所有权归谁
  • 未央免费做网站河间网站建设
  • 酒庄企业网站app制作多少钱一个
  • 西安模板建网站网站如何做直播轮播
  • 网站功能需求表百度怎么投放自己的广告
  • 如何免费制作网站网站icp备案费用
  • 网站建设最新教程wordpress表白墙
  • android电影网站开发网站建设与设计实习报告
  • 公司汇报网站建设方案烟台seo网站推广
  • 文章网站哪里建设好找素材的网站
  • 怎么做自己的彩票网站公司建设网站价格
  • 国外比较好的设计网站网站后台无法上传图片
  • 帮别人做网站的公司是外包吗用户登录
  • 关于我们网站模板小莉帮忙郑州阳光男科医院
  • 上海门户网站怎么登录永州网站制作
  • 微信网站模版下载做销售的去哪个网站应聘
  • 好看的个人博客主页长安网站优化公司
  • 企业网站关站大型综合新闻门户网站织梦模板