我正在使用Spring MVC框架和JSP为我的视图开发一个Java项目。我想知道如何最好地表示从我用作模型属性的bean中的属性派生的字段。在我的示例中,一个DisplayName字段是根据一个人可能拥有的所有各种名称字段构建的(first,last,middle,prefix等)。
例如,如果我有一个看起来像这样的Person bean:
public class Person {
private String lastName;
private String firstName;
.
.
.
**A bunch more name fields here
.
.
.
**All the getters and setters here
.
.
.
public String getDisplayName() {
//Simple example
return this.firstName + " " + this.lastName;
}
}
因此,如果我希望我的显示名称将所有这些字段与某些逻辑组合在一起,然后在JSP上显示该如何构建它?
我应该建立一个" displayName"我的控制器中的字符串,然后将其作为附加模型属性传递?
我应该创建一个在bean中构建它的方法(参见上面的例子)然后从JSP访问它吗?使用以下内容似乎对我有用:
$ {person.getDisplayName()}
处理这种模式的正确方法是什么?
修改其他信息 在我的控制器中,我将Person对象作为模型属性传递
@RequestMapping(value = "/path", method = RequestMethod.GET)
public String getMethod(final Locale locale, final Model model, final HttpServletRequest request) {
Person myPerson = getThePersonFromSomewhere();
model.addAttribute("person", myPerson);
return "the view";
}
然后在视图JSP中我像这样访问它
<div>
First Name: ${person.firstName}
Display Name: ${wondering how to do this}
</div>
答案 0 :(得分:1)
Display Name: ${person.displayName}
只要您在public String getDisplayName()
课程中使用Person
方法就可以正常工作,这是一种简单而合理的方法。