Java Web编程技术 课件 第12章SpringMVC核心应用 .pptx

Java Web编程技术 课件 第12章SpringMVC核心应用 .pptx

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

JavaWeb编程技术本章主要介绍类型转换与格式化、数据验证、SpringMVC拦截器、国际化。类型转换与格式化数据验证SpringMVC拦截器国际化第12章SpringMVC核心应用为了实现数据类型转换和格式化,可以使用SpringMVC的内置转换器,也可以自定义转换器和格式化器。可以使用Spring提供的数据验证功能,也可以使用JSR303验证机制。通过定义的配置拦截器,可以对请求进行前处理和后处理。

类型转换与格式化在SpringMVC应用中需要接收用户的请求参数,并将其传递给控制器并使用这些参数构建POJO对象。这里有一个问题,即所有请求参数类型都是字符串类型,Java是强类型的,所以SpringMVC框架必须将这些字符串请求参数转换成相应的数据类型。一般情况下,控制器在接收到客户发送来的数据需要进行类型转换和格式化。在SpringMVC中通过转换器和格式化器来实现。SpringMVC提供了一些内置转换器,但有些特殊类型的参数是无法在后台进行直接转换的,例如,日期数据就需要开发者自定义转换器(Converter)和格式化器(Formatter)来进行数据绑定。12.1

类型转换的意义12.1.1本节通过一个简单的应用说明类型转换的意义。如图12-1所示的添加图书页面用于收集用户输入的图书信息,图书信息包括书号、图书名称、作者名、出版日期和价格。

类型转换的意义12.1.1程序需要将表单数据提交给控制器,在控制器中需要解析传递来的数据,并用这些数据构造Book对象,然后将其保存到数据库中。对于该应用,需要程序员自己在控制器中进行类型转换,并将其封装成POJO对象。这种类型转换操作需要全部手动完成,十分繁琐。例如,用户输入的日期可能有许多种形式,如“2024-10-25”和“10/25/2024”,这些都能表示一个日期。默认情况下,Spring会期待用户输入的日期样式与当前语言区域的日期样式相同。例如,对于美国用户而言,可能是月/日/年(MM/dd/yyyy)格式。由于从客户端传递来的字符串形式的日期(如,“2024-10-25”)不能自动转换成LocalDate日期类型,所以在控制器的请求处理方法中需要手动进行类型转换,下面是BookController类的部分代码:

@ControllerpublicclassBookController{privatestaticfinalLoglogger=LogFactory.getLog(BookController.class);@RequestMapping(value=/input-book)publicStringinputBook(Modelmodel){(inputBookcalled);model.addAttribute(book,newBook());returninputBook;}

@RequestMapping(value=/save-book)publicStringsaveBook(Stringisbn,Stringname,Stringauthor,Stringpubdate,BigDecimalprice,Modelmodel){(调用saveBook()方法);try{DateTimeFormatterformatter= DateTimeFormatter.ofPattern(yyyy-MM-dd);LocalDatenewdate=LocalDate.parse(pubdate,formatter);Bookbook=newBook(isbn,name,author,newdate,price);model.addAttribute(book,book); returnshowBook;}catch(DateTimeParseExceptione){System.out.println(e.toString()); returninputBook;}}

类型转换的意义12.1.1在saveBook()请求处理方法中,通过String参数pubdate接收传递来出版日期字符串参数,然后对该字符串进行解析,转

文档评论(0)

xiaobao + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档