亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

SpringMVC + Spring + MyBatis 學習筆記:提交數據遭遇基礎類型和日期類型報400錯誤解決方法

2019-11-14 23:33:52
字體:
來源:轉載
供稿:網友
SPRingMVC + Spring + MyBatis 學習筆記:提交數據遭遇基礎類型和日期類型報400錯誤解決方法

系統:WIN8.1

數據庫Oracle 11GR2

開發工具:MyEclipse 8.6

框架:Spring3.2.9、SpringMVC3.2.9、MyBatis3.2.8


使用SpringMVC開發的時候,頁面如果有日期格式的數據,后臺接受也是java.util.Date,則報告400錯誤。下面是解決方案的演示示例:

這個是實體類,里面createDate就是java.util.Date類型

 1 import java.util.Date; 2  3 public class User { 4  5     private int userId; 6     private String userName; 7     private Date createDate; 8      9     public User() {}10 11     public User(int userId, String userName, Date createDate) {12         super();13         this.userId = userId;14         this.userName = userName;15         this.createDate = createDate;16     }17 18     public User(String userName, Date createDate) {19         super();20         this.userName = userName;21         this.createDate = createDate;22     }23 24     public int getUserId() {25         return userId;26     }27 28     public void setUserId(int userId) {29         this.userId = userId;30     }31 32     public String getUserName() {33         return userName;34     }35 36     public void setUserName(String userName) {37         this.userName = userName;38     }39 40     public Date getCreateDate() {41         return createDate;42     }43 44     public void setCreateDate(Date createDate) {45         this.createDate = createDate;46     }47 48     @Override49     public String toString() {50         return "User [createDate=" + createDate + ", userId=" + userId51                 + ", userName=" + userName + "]";52     }53 }

頁面代碼

1   <form action="regUser" method="post">2         userName:<input type="text" name="userName"/><br>3         createDate:<input type="text" name="createDate"/><br>4         double類型:<input type="text" name="dd"/><br>5         <input type="submit" value="注冊">6     </form>

因為對于原生基本類型的form表單綁定,會出錯。需要指定具體的類型編輯器。用法如下:首先在BaseController中增加方法initBinder,并使用注解@InitBinder標注,那么spring mvc在綁定表單之前,都會先注冊這些編輯器。剩下的控制器都繼承該類。CustomDateEditor spring自己已經提供了。代碼如下:

 1 import java.text.SimpleDateFormat; 2 import java.util.Date; 3  4 import org.springframework.beans.propertyeditors.CustomDateEditor; 5 import org.springframework.stereotype.Controller; 6 import org.springframework.web.bind.WebDataBinder; 7 import org.springframework.web.bind.annotation.InitBinder; 8  9 import sun.beans.editors.DoubleEditor;10 import sun.beans.editors.FloatEditor;11 import sun.beans.editors.IntEditor;12 import sun.beans.editors.LongEditor;13 14 @Controller15 public class BaseController {16 17     @InitBinder    18     public void initBinder(WebDataBinder binder) {    19 20         binder.registerCustomEditor(Date.class, new CustomDateEditor(new SimpleDateFormat("yyyy-MM-dd"), true)); 21         binder.registerCustomEditor(int.class, new IntEditor());22         binder.registerCustomEditor(long.class, new LongEditor());  23         binder.registerCustomEditor(double.class, new DoubleEditor());  24         binder.registerCustomEditor(float.class, new FloatEditor());  25     }26     27     28 }

上面的代碼不僅僅有日期格式的編輯器,還有基礎類型的編輯器,這樣就解決了SpringMVC中controller方法接受參數的時候,基礎類型報錯的問題了。

下面是測試用代碼,繼承BaseController之后就可以直接運行了。接受的參數有實體類和基礎類型。

 1 import org.springframework.stereotype.Controller; 2 import org.springframework.web.bind.annotation.RequestMapping; 3  4 import com.kickstarter.entity.User; 5  6 @Controller("userController") 7 public class UserController extends BaseController{ 8  9     @RequestMapping(value="regUser")10     public String dateTest(User user ,double dd){11         12         System.out.println( user.toString() );13         System.out.println( dd );14         return "index"; 15     }16 }

以上,問題解決。然后我們切換第二種方式,刪除 BaseController這個類,直接在User實體類中的createDate字段上加上注解,注意第10行代碼:

 1 import java.util.Date; 2  3 import org.springframework.format.annotation.DateTimeFormat; 4  5 public class User { 6  7     private int userId; 8     private String userName; 9     10     @DateTimeFormat(pattern="yyyy-MM-dd")11     private Date createDate;12     13     public User() {}14 15     public User(int userId, String userName, Date createDate) {16         super();17         this.userId = userId;18         this.userName = userName;19         this.createDate = createDate;20     }21 22     public User(String userName, Date createDate) {23         super();24         this.userName = userName;25         this.createDate = createDate;26     }27 28     public int getUserId() {29         return userId;30     }31 32     public void setUserId(int userId) {33         this.userId = userId;34     }35 36     public String getUserName() {37         return userName;38     }39 40     public void setUserName(String userName) {41         this.userName = userName;42     }43 44     public Date getCreateDate() {45         return createDate;46     }47 48     public void setCreateDate(Date createDate) {49         this.createDate = createDate;50     }51 52     @Override53     public String toString() {54         return "User [createDate=" + createDate + ", userId=" + userId55                 + ", userName=" + userName + "]";56     }57 }

這樣也可以解決日期格式報400問題。而且不管頁面是否有數據都可以正常使用。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲人成电影网| 91精品视频专区| 国模精品视频一区二区三区| 精品香蕉一区二区三区| 亚洲成年人在线| www亚洲精品| 国产日韩欧美日韩大片| 亚洲人精选亚洲人成在线| 国产精品91免费在线| 久久99精品久久久久久噜噜| 日韩精品一二三四区| 欧美激情视频三区| 久久影视电视剧免费网站清宫辞电视| 亚洲男人av电影| 日韩av免费看网站| 精品久久久在线观看| 国产精品欧美日韩久久| 亚洲免费电影一区| 国产精品久久久久国产a级| 色99之美女主播在线视频| 亚洲大胆人体av| 日本精品中文字幕| 欧美肥老妇视频| 91精品久久久久久久久久久久久久| 国产欧美一区二区三区在线看| 亚洲视频一区二区三区| 日韩电影中文 亚洲精品乱码| 成人黄色av播放免费| 欧美日韩免费在线观看| 国产丝袜一区二区三区免费视频| 欧美黄色成人网| 国产精品极品美女在线观看免费| 亚洲免费av网址| 精品国产91乱高清在线观看| 久久久久久久国产精品视频| 国产成人精品在线观看| 欧美性生交大片免费| 久久九九全国免费精品观看| 欧美亚洲成人免费| 美女av一区二区三区| 亚洲999一在线观看www| 尤物yw午夜国产精品视频| 欧美日韩国产麻豆| 欧美日韩国产中文精品字幕自在自线| 久久久噜噜噜久久中文字免| 国模精品一区二区三区色天香| 欧美天堂在线观看| 91精品久久久久久久久不口人| 九九九热精品免费视频观看网站| 91精品在线国产| 欧美夜福利tv在线| 5278欧美一区二区三区| 久久精品91久久香蕉加勒比| 日本最新高清不卡中文字幕| 色婷婷亚洲mv天堂mv在影片| 自拍偷拍亚洲在线| 欧洲成人免费视频| 91久久夜色精品国产网站| 黄色精品一区二区| 日韩精品在线观看网站| 亚洲性夜色噜噜噜7777| 欧美精品videosex牲欧美| 欧美在线性视频| 波霸ol色综合久久| 一区二区三区视频免费在线观看| 欧美色播在线播放| 欧美性视频在线| 中文字幕日韩av综合精品| 成人做爽爽免费视频| 成人黄色在线免费| zzijzzij亚洲日本成熟少妇| 欧美激情欧美狂野欧美精品| 成人网中文字幕| 久久天天躁狠狠躁夜夜爽蜜月| 色综合天天综合网国产成人网| 精品成人国产在线观看男人呻吟| 国产91对白在线播放| 日韩欧美高清在线视频| 日本精品va在线观看| 不卡毛片在线看| 亚洲精品网址在线观看| 国产一区香蕉久久| 国产一区二区三区直播精品电影| 91视频国产高清| xxx成人少妇69| 欧美激情第99页| 亚洲激情视频在线| 国产成人精品久久| 亚洲影院高清在线| 国产精品久久久久久av福利软件| 91av在线影院| 久久久久久久久久久久久久久久久久av| 国产精品电影观看| 欧美黑人极品猛少妇色xxxxx| 成人淫片在线看| 怡红院精品视频| 亚洲国产天堂久久综合网| 91高清在线免费观看| 性色av一区二区三区| 亚洲精品黄网在线观看| 日本不卡视频在线播放| 66m—66摸成人免费视频| 亚洲国产91精品在线观看| 国产一区二区三区在线播放免费观看| 久久精品视频亚洲| 国产精品美女久久久免费| 久久久久久久久网站| 国产成人亚洲综合91| 国产精品女人久久久久久| 日韩亚洲成人av在线| 久久精品亚洲精品| 欧美日韩一区二区三区在线免费观看| 在线丨暗呦小u女国产精品| 最近2019年中文视频免费在线观看| 亚洲最大成人网色| 精品国内产的精品视频在线观看| 国产精欧美一区二区三区| 精品中文字幕乱| 亚洲国产精品久久久久久| 国产成人精品电影久久久| 亚洲最大av网站| 精品亚洲永久免费精品| 亚洲国产精品va在线| 国产精品欧美亚洲777777| 一个人www欧美| 丰满岳妇乱一区二区三区| 51午夜精品视频| 久久久av亚洲男天堂| 日本三级韩国三级久久| 亚洲精品国产福利| 久久久女人电视剧免费播放下载| 国产精品成久久久久三级| 亚洲免费av网址| 中文字幕亚洲欧美| 亚洲男女自偷自拍图片另类| 黄色一区二区在线| 美女少妇精品视频| 精品国产一区二区三区四区在线观看| 国产精品国产亚洲伊人久久| 日韩av在线免费观看一区| 亚洲欧美国产另类| 少妇高潮 亚洲精品| 国产日韩欧美影视| 亚洲欧美国产精品专区久久| 国产精品美女www爽爽爽视频| 亚洲日韩中文字幕| 热re91久久精品国99热蜜臀| 日本中文字幕久久看| 亚洲无av在线中文字幕| 热re99久久精品国产66热| 亚洲人高潮女人毛茸茸| 欧美激情精品久久久久久免费印度| 久久久久久久久久久av| 日韩一区二区三区xxxx| 国产精品视频最多的网站| www.亚洲天堂| 亚洲精品一区久久久久久| 欧美性在线视频| 精品久久久久久久久久ntr影视| 国产精品自在线| 最新91在线视频| 亚洲一区二区国产| 一本色道久久88亚洲综合88| 九九久久久久久久久激情|