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

时间:2016-04-12 18:14:33

标签: spring jsp spring-mvc javabeans

我正在使用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>

1 个答案:

答案 0 :(得分:1)

Display Name: ${person.displayName}

只要您在public String getDisplayName()课程中使用Person方法就可以正常工作,这是一种简单而合理的方法。