我有一個模型,這樣定義...操縱的Spring MVC模型字段JSP輸出
public class Product{
private long timestamp;
// get/set follows...
}
時間戳字段是好的數據庫,因爲我通過JPA持久化數據。但是,在JSP輸出中,我不想只顯示時間戳,我想將其呈現爲自定義的String。我想在自定義方法中定義long/String轉換。
我可以將timestamp字段轉換爲DateTime或其他東西,但這是一個普遍的問題 - 如何在不修改模型本身的情況下處理模型數據,因爲它只是用於視圖?我研究了Spring Conversion和Formatter SPI,但這似乎並不適合(Formatter主要針對用戶輸入,轉換適用於整個模型,我只想操縱模型的一個字段)。
我已經想到只是爲視圖中創建一個新的對象,從數據庫模型通過了所有的數據,並操縱它的存在,但必須有一個更好的解決辦法...
編輯
一些其他代碼...這裏是我的控制器:
@RequestMapping(method=RequestMethod.GET, value="/")
public ModelAndView getAllProducts() {
List<Product> products = daoReader.findAllProducts();
ModelAndView mv = new ModelAndView("myproductview");
mv.addObject("products", products);
return mv;
這是JSP(簡體):
<c:forEach items="${products}" var="currentproduct">
<tr>
<td>${currentproduct.timestamp}</td>
<td>${currentproduct.name}</td>
</tr>
</c:forEach>
上面的答案是否高於您的意思,或者您知道任何解決方案而無需使用自定義JSP標記? – 2012-02-16 09:36:24
我給出的這個解決方案沒有使用自定義JSP標籤,它可以工作。 – aseychell 2012-02-16 09:43:51
你能指點我一些實際的例子/教程嗎?非常感謝! – 2012-02-16 09:52:32