У меня есть модель, подобная этой ...
public class Product{
private long timestamp;
// get/set follows...
}
Поле метки времени подходит для базы данных, поскольку я сохраняю данные через JPA. Однако в выводе JSP я не хочу представлять временную метку так долго, я хочу представить ее как настроенную строку. Я хотел бы определить преобразование long / String в пользовательский метод.
Я мог бы преобразовать поле метки времени в DateTime или что-то в этом роде, но это общий вопрос - как можно обрабатывать данные модели без изменения самой модели, потому что это только для вида? Я посмотрел на Spring Conversion и SPI Formatter, но здесь это не подходит (Formatter в основном для ввода данных пользователем, Conversion применяется ко всей модели, и я просто хочу управлять одним полем модели) .
Я уже думал о создании нового объекта только для представления, передавая все данные из модели базы данных и манипулируя ими там, но должно быть лучшее решение ...
EDIT
Дополнительный код ... вот мой контроллер:
@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>