2015-10-13 39 views
0

根據數據庫,我有一個實體類,其中包括一個名爲start_date的日期類型字段。在jsp頁面中有一個搜索欄,用戶可以使用該名稱或日期搜索數據。但是,我們傳入的搜索值應該是一個字符串值。如何將日期類型實體字段轉換爲Java中的字符串?

但作爲start_date是一種日期,我無法使用它來搜索數據,因爲搜索參數是一個字符串。我能做些什麼來將日期類型轉換爲字符串?這些是我得到的示例實體字段。

P.S:這是與MySQL

@Basic 
@Column(name = "name") 
public String getName() { 
    return name; 
} 

public void setName(String name) { 
    this.name = name; 
} 

@Basic 
@Column(name = "start_date") 
public Date getStartDate() { 
    return startDate; 
} 

public void setStartDate(Date startDate) { 
    this.startDate = startDate; 
} 

一個Maven的Hibernate Spring MVC的項目任何幫助,將不勝感激。

+1

這與你的UI組件有關 - 如果你使用Spring _MVC_,你應該在你的問題中說清楚。通常,UI框架負責將HTML輸入轉換爲Java對象。 –

+0

感謝遺漏了MVC,所以我應該找到一種通過UI組件的方式? – Kulasangar

+1

是的,這是我評論的重點。我添加了標籤'spring-mvc',因爲有些專家可能會幫助你。 –

回答

0

添加一個<input type="date"/>並使用控制器方法將其綁定到@RequestParam Date searchDate。行格式爲yyyy-mm-dd,所以請確保您的活頁夾支持,因爲我不確定它是否是開箱即用。

0
pubilc Static getFromattedDate(date,dateFormatter){ 
    SimpleDateFormat formatter = new SimpleDateFormat(dateFormat); 
    return formatter.format(date); 
} 

創建你CalendarUtil.java這種方法,你可以從你的controller.then叫你可以格式化你的輸入,只要你想回來作爲字符串。

+1

這既不考慮當前用戶的語言也不考慮時區 - 並且該評論與格式化程序字符串不一致 - 它也包含時間信息以及...日期格式化程序中的 –

+0

也可以使用這種「yyyy-MM- DD」。然後可以刪除時間信息。 – VirangaMahesh

+1

您應該編輯您的答案以整合該答覆。 –

相關問題