1
我正在使用Spring MVC框架和JSP來處理我的視圖。我想知道如何最好地表示從我用作模型屬性的bean中的屬性派生出的字段。在我的例子中,一個DisplayName字段由一個人可能擁有的各種名字字段(第一,最後,中間,前綴等)構建而成。在JSP中代表從一個bean中的其他字段構建的字段
舉例來說,如果我有一個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>
您的問題不明確。要開始,單獨打印什麼或不打印? (預計將打印'Person#toString()')。如果它已經不打印任何東西,那麼您需要退後一步,專注於如何爲視圖準備模型,而不是關注模型的屬性。 – BalusC
訪問JSP中Person對象的屬性(例如,$ {person.firstName})。編輯的問題來形容。謝謝。 – Luke
哦,現在我明白了。你基本上需要'$ {person.firstName} $ {person.middleName} $ {person.lastName}'在一個單獨的調用中如'$ {person.displayName}'?並且你有一個'public String getDisplayName(){return firstName +「」+ middleName +「」+ lastName; }'這個方法似乎不打印任何東西?你爲什麼不在任何地方顯示有問題的方法? – BalusC