SpringMVC04_自定義數據類型轉換器
標簽: SpringMVC
SpringMVC04_自定義數據類型轉換器
- addDate.jsp(這里前端會提交一個yyyy-MM-dd格式的字符串)
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<form action="/converter/date" method="post">
請輸入日期:<input type="text" name="date"/>(yyyy-MM-dd)
<br>
<input type="submit" value="提交"/>
</form>
</body>
</html>
- ConverterHandler (從前端獲取的是String類型的字符串,但需要的參數是Date類型的數據)
package com.blu.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.Date;
@RestController
@RequestMapping("/converter")
public class ConverterHandler {
@RequestMapping("/date")
public String Date(Date date){
return date.toString();
}
}
- 啟動后輸入http://localhost:8080/addDate.jsp進入addDate.jsp
輸入2020-09-30后提交出現500錯誤(Failed to convert value of type ‘java.lang.String’ to required type ‘java.util.Date’):
- 添加DateConverter類并實現Converter接口:
package com.blu.converter;
import org.springframework.core.convert.converter.Converter;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateConverter implements Converter<String,Date> {
private String pattern;
public DateConverter(String pattern){
this.pattern = pattern;
}
@Override
public Date convert(String s) {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(this.pattern);
Date date = null;
try {
date = simpleDateFormat.parse(s);
} catch (ParseException e) {
e.printStackTrace();
}
return date;
}
}
- 在配置文件中配置自定義的轉換器并注冊
<!-- 配置自定義轉換器 -->
<bean id="conversionService" class="org.springframework.context.support.ConversionServiceFactoryBean">
<property name="converters">
<list>
<bean class="com.blu.converter.DateConverter">
<constructor-arg type="java.lang.String" value="yyyy-MM-dd"></constructor-arg>
</bean>
</list>
</property>
</bean>
<!-- 注冊自定義轉換器的bean -->
<mvc:annotation-driven conversion-service="conversionService">
</mvc:annotation-driven>
- 重新運行,測試成功:
智能推薦
SpringMVC學習筆記14-----數據綁定與自定義類型轉換器
一、問題分析 在之前的增刪改查中,數據都是通過表單傳向方法然后轉化成相應的數據類型!那么如果我們在java bean中再添加一個日期屬性birth時,就會有三個問題: 1.如何將表單中的字符串格式轉向日期格式:數據類型轉換 2.表單中輸入的字符串格式應該是怎么樣的:數據類型格式化 3.這是個生日屬性,既然是生日屬性就應該是當前日期的前面的時間,...
SpringMVC中數據綁定及自定義類型轉換器
這篇博客記錄一下SpringMVC中的數據綁定,以及如何自定義類型轉換器 數據綁定 Spring MVC 主框架將 ServletRequest 對象及目標方法的入參實例傳遞給 WebDataBinderFactory 實例,以創建 DataBinder 實例對象. DataBinder 調用裝配在 Spring MVC 上下文中的 ConversionService 組件進行數據類型轉換、數據格...
自定義類型轉換器
自定義類型轉換器 1、表單提交的任何數據類型全部都是字符串類型,但是后臺定義Integer類型,數據也可以封裝上,說明Spring框架內部會默認進行數據類型轉換 2、如果想自定義數據類型轉換,可以實現Converter的接口 使用步驟: 第一步:第一個類,實現Converter接口,該接口有兩個泛型。 第二步在配置文件中配置自定義類型轉換器 運行項目:...
自定義類型轉換器
自定義類型轉換器 字符串變成對象 自定義步驟 1 修改input.jsp頁面,實現Employee字符串變為POJO 2 Handler 3 自定義的轉化器(@Component) 4 springmvc的配置文件ConversionServiceFactoryBean 5 <mvc:annotation-driven>引用轉換器 6 debug ...
猜你喜歡
freemarker + ItextRender 根據模板生成PDF文件
1. 制作模板 2. 獲取模板,并將所獲取的數據加載生成html文件 2. 生成PDF文件 其中由兩個地方需要注意,都是關于獲取文件路徑的問題,由于項目部署的時候是打包成jar包形式,所以在開發過程中時直接安照傳統的獲取方法沒有一點文件,但是當打包后部署,總是出錯。于是參考網上文章,先將文件讀出來到項目的臨時目錄下,然后再按正常方式加載該臨時文件; 還有一個問題至今沒有解決,就是關于生成PDF文件...
電腦空間不夠了?教你一個小秒招快速清理 Docker 占用的磁盤空間!
Docker 很占用空間,每當我們運行容器、拉取鏡像、部署應用、構建自己的鏡像時,我們的磁盤空間會被大量占用。 如果你也被這個問題所困擾,咱們就一起看一下 Docker 是如何使用磁盤空間的,以及如何回收。 docker 占用的空間可以通過下面的命令查看: TYPE 列出了docker 使用磁盤的 4 種類型: Images:所有鏡像占用的空間,包括拉取下來的鏡像,和本地構建的。 Con...
requests實現全自動PPT模板
http://www.1ppt.com/moban/ 可以免費的下載PPT模板,當然如果要人工一個個下,還是挺麻煩的,我們可以利用requests輕松下載 訪問這個主頁,我們可以看到下面的樣式 點每一個PPT模板的圖片,我們可以進入到詳細的信息頁面,翻到下面,我們可以看到對應的下載地址 點擊這個下載的按鈕,我們便可以下載對應的PPT壓縮包 那我們就開始做吧 首先,查看網頁的源代碼,我們可以看到每一...