Одним из решений было бы изменить/push-in show() на WorkOrderController, чтобы нанести рендер-представление-тег на то, что вы хотели бы видеть.
@RequestMapping(value = "/{id}", produces = "text/html")
public String show(
@PathVariable("id") Long id,
Model uiModel)
{
final WorkOrder workOrder = WorkOrder.findWorkOrder(id);
uiModel.addAttribute("workOrder", workOrder);
uiModel.addAttribute("itemId", id);
// Everything but this next line is just ripped out from the aspectJ/roo stuff.
// Write a method that returns a formatted string for the customer name,
// and a customer accessor for WorkOrder.
uiModel.addAttribute("customerDisplay", workOrder.getCustomer().getDisplayName());
return "workorders/show";
}
Вставьте/определите метку в файле i18n/application.properties для customerDisplay.
Затем в show.jspx, вы можете получить доступ к картированию с чем-то вроде ... (Трюк похож на другие мнения.)
<field:display field="customerDisplay" id="s_your_package_path_model_WorkOrder_customerDisplay" object="${workorder}" z="user-managed" />
Я новичок в Ий, так что я бы любите видеть лучший ответ.
Я не думаю, что вы должны использовать toString, а что-то вроде $ {customer.firstName} $ {customer.lastName} и т. Д., Но это, конечно, зависит от того, как выглядит модель и вид. –