在 JSP 中表示从 bean 中的其他字段构建的字段

In JSP represent a field built from other fields in a bean

我正在使用 Spring MVC 框架开发一个 Java 项目,JSP 用于我的观点。我想知道如何最好地表示从我用作模型属性的 bean 中的属性派生的字段。在我的示例中,一个 DisplayName 字段由一个人可能拥有的所有各种名称字段(名字、姓氏、中间名、前缀等)构成。

例如,如果我有一个如下所示的 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>
Display Name: ${person.displayName}

只要您的 Person class 中有 public String getDisplayName() 方法,它就应该可以工作,这是实现该目的的简单合理的方法。