1. 程式人生 > >springmvc使用實體類接收表單提交資料中含有String型別對應Date型別的不匹配報錯400時如何處理

springmvc使用實體類接收表單提交資料中含有String型別對應Date型別的不匹配報錯400時如何處理

springmvc使用實體類接收表單提交資料中含有String型別對應Date型別的不匹配情況,頁面提交表單報錯400,時如何處理?

參看部落格:http://blog.csdn.net/u014079773/article/details/51865178 

  • 我的錯誤發生原因描述:

實體類中包含了一個Date格式的屬性,前臺提交表單時使用的日期外掛,提交的是String型別的日期,於是出現瞭如400下報錯:

實體類:

public class OperateCompactModel  implements BaseIdModel {
	private String id;
	private String pId;			//工程id
	private String company;		//建設單位
	private String projectName;	//工程名稱
	private String compactName;	//合同名稱
	private String compactType;	//合同類別   1-材料合同 2-用工合同 3-裝置租賃合同 4-裝置採購合同
	private String compactBrief;//合同概要
	private String compactNum;	//合同編號
	private String supplier;	//供應商名稱
	private double amount;		//總金額
	private String attachment;	//附件
	private Date signDate;		//簽訂日期
private String excute; //執行情況 private String remark; //備註 private String invoice; //發票
OperateCompactModel implements BaseIdModel { private String id; private String pId; //工程id private String company; //建設單位 private String projectName; //工程名稱 private String compactName; //合同名稱 private String compactType; //合同類別 1-材料合同 2-用工合同 3-裝置租賃合同 4-裝置採購合同 private String compactBrief;//合同概要 private String compactNum; //合同編號 private String supplier; //供應商名稱 private double amount; //總金額 private String attachment; //附件 private Date signDate; //簽訂日期
private String excute; //執行情況 private String remark; //備註 private String invoice; //發票

表單提交的日期欄位:

<div>
	<label>簽訂日期</label>
	<span><input class="laydate-icon" id="demo" name="signDate0" value="2016-6-25"></span>
</div>

後臺接收方式:

	@RequestMapping(value="operate_addCompact.html")
	public String addOperateCompact(String token, OperateCompactModel operateCompactModel){
		//判斷是否重複提交
		boolean isRepeat = NoRepeateSubmit.isRepeatSubmit(request,token);//--token
		if(isRepeat){//如果重複提交了,直接返回				//---token
			return "redirect:operate_compact.html?id="+operateCompactModel.getpId();	
		}															
		//非重複提交,清除session中的token,執行新增程式碼					
		request.getSession().removeAttribute("token");	
		operateCompactService.add(operateCompactModel);
		return "redirect:operate_compact.html?id="+operateCompactModel.getpId();
	}

報錯:

  • 解決辦法:

後臺使用一個單獨的String欄位接收表單提交的日期屬性,通過dateFomate轉化成需要的Date格式再存入到實體類中.

如下:

@RequestMapping(value="operate_addCompact.html")
public String addOperateCompact(String token, String signDate0, OperateCompactModel operateCompactModel){
	//判斷是否重複提交
	boolean isRepeat = NoRepeateSubmit.isRepeatSubmit(request,token);//----------token---------------
	if(isRepeat){//如果重複提交了,直接返回								//----------token---------------
		return "redirect:operate_compact.html?id="+operateCompactModel.getpId();	
	}															
	//非重複提交,清除session中的token,執行新增程式碼					
	request.getSession().removeAttribute("token");	
	SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
	try {
		operateCompactModel.setSignDate(sdf.parse(signDate0));
	} catch (ParseException e) {
		e.printStackTrace();
	}
	operateCompactService.add(operateCompactModel);
	return "redirect:operate_compact.html?id="+operateCompactModel.getpId();
}String signDate0, OperateCompactModel operateCompactModel){
	//判斷是否重複提交
	boolean isRepeat = NoRepeateSubmit.isRepeatSubmit(request,token);//----------token---------------
	if(isRepeat){//如果重複提交了,直接返回		                 //----------token---------------
		return "redirect:operate_compact.html?id="+operateCompactModel.getpId();	
	}															
	//非重複提交,清除session中的token,執行新增程式碼					
	request.getSession().removeAttribute("token");	
	SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
	try {
		operateCompactModel.setSignDate(sdf.parse(signDate0));
	} catch (ParseException e) {
		e.printStackTrace();
	}
	operateCompactService.add(operateCompactModel);
	return "redirect:operate_compact.html?id="+operateCompactModel.getpId();
}

當然表單提交的欄位name也要改成相應的signDate0.

400報錯記錄

相關推薦

springmvc使用實體接收提交資料含有String型別對應Date型別匹配400如何處理

springmvc使用實體類接收表單提交資料中含有String型別對應Date型別的不匹配情況,頁面提交表單報錯400,時如何處理? 參看部落格:http://blog.csdn.net/u014079773/article/details/51865178  我

HTML提交資料application/x-www-form-urlencoded和multipart/form-data的區別

在Form元素的語法中,EncType表明提交資料的格式 用 Enctype 屬性指定將資料回發到伺服器時瀏覽器使用的編碼型別。 下邊是說明: application/x-www-form-urlencoded : 窗體資料被編碼為名稱/值對。這是標準的編

SpringMVC學習筆記:提交 參數的接收

服務器 book postman pan json格式數據 ica 上傳圖片 異步 collect SpringMVC可以接收原生form表單和json格式數據 有一個名為Book的model,其中的屬性如下: 字符串類型的name,數字類型的price,數組類型的c

spring mvc接收提交資料的幾種方式

spring mvc封裝資料的物件有session、request、ModelAndView、ModelMap、Model、Map Map map,Model model,ModelMap mmap,ModelAndView mav,HttpServletRequest r

springMVC資料傳遞案例------利用form提交資料

這一章簡單的例舉一下form表單是怎麼講資料傳遞到後臺,又是怎麼接收,再傳回來 執行用的框架是之前搭建的,已經匯出來了,有興趣的可以直接去下載 ssm框架 在這個框架的基礎上加入了幾個jsp頁

Java Web開發總結(三) —— request接收提交中文參數亂碼問題

字符串 public servlet 參數 byte[] 解決 操作 get span 1、以POST方式提交表單中文參數的亂碼問題 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"

form提交資料的同時上傳檔案程式碼示例

                              form表單提交資料的同時在表單中上傳檔案程式碼示例    一

後端模擬網頁提交資料

     /// <summary> /// 後端模擬網頁表單提交資料 /// </summary> /// <returns></returns> public string TestFor

php接受提交資料

提交資料方式 1)、在位址列中寫    地址?name=''&password="" 2)、以a標籤的形式提交,在href地址中寫     地 址?name=''&password="" 3)、在表單中提交,

前端提交資料~php獲取內容

上圖程式碼如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xml

layuiform提交資料的方式。

<form class="layui-form"> <div class="layui-form-item"> <input type="text" id="subTitle" name="subTitle" lay-verify="req

servlet亂碼及接收提交引數

servlet輸出中文(輸出到頁面的中文亂碼)(1)亂碼產生的原因 out.println方法預設情況下會使用“iso-8859-1” response.setContentType("text/html;charset=utf-8");注:作用1:out.println

Form提交資料的幾種方式

一、submit提交 在form標籤中新增Action(提交的地址)和method(post),且有一個submit按鈕(<input type=’submit’>)就可以進行資料的提交,每一個input標籤都需要有一個name屬性,才能進行提交。 <form action=’http:/

HttpClient使用post方式模擬提交資料到伺服器並下載伺服器檔案

public class HttpClientPostUtil {  public static String  loginGet(String url,String username,Stri

HTML5第8次課堂筆記( 模擬form提交資料,xml的解析,jQuery的Ajax方法使用, mui的ajax)

HTML5第8次課堂筆記 1.  模擬form表單提交資料:(get方式)   <body>   <formmethod="get"action="DataTest7">   <inputtype="text"name="uname"valu

Action獲取提交資料

1、使用ActionContext類ActionContext context = ActionContext.getContext(); Map<String, Object> map = context.getParameters(); Set<Stri

提交資料到控制器出現亂碼的解決方案

1、當前端頁面使用get的提交方式提交資料時,引數轉化為URL中的引數,即:“?paramName1=paramvalue1&paramName2=paramVlaue2”。此時在控制器中使用request.getParameter()方法獲取資料時出現亂碼是因為在客戶端進行編碼時使

html form提交資料並後臺獲取

http://www.tuicool.com/articles/m67vMbQ 前臺: HTML的程式碼:(關鍵是要在form裡設定enctype="multipart/form-data",這樣才能在提交表單時,將檔案以二進位制流的形式傳輸到伺服器) <ht

提交資料亂碼問題

今天在前臺頁面通過FORM表單提交的時候,後臺接到的資料出現中文亂碼,對request設定編碼格式,但是並不管用,百度了一下,找到了一種合適的方法,以下是後臺對資料的處理 request.setCharacterEncoding("UTF-8"); System.out

Jsp提交資料亂碼問題

              Jsp表單提交資料出現亂碼         這個問提真的就糾結了好多天。太複雜了。說是涉及到到jsp檔案的儲存格式,又有解碼格式,還有瀏覽器的解碼格式。      1.網上說了很多方法,我覺得更改server.xml檔案這個方法應該相對來說是比較簡