2013-10-21 52 views
0

我正在嘗試理解JSP,並想知道下面的哪些變體會優先在JSP頁面中輸出嵌套數據。在JSP頁面中顯示嵌套bean值的最佳方法?

如果您需要維護一個網絡應用程序,您會喜歡這些變體中的哪一個(如果有的話)?爲什麼?或者還有另外一種達到同樣目標的優越方式嗎?

這是關於遺留應用程序的更改,我僅限於JSP 2.1。請不要建議切換到一個完全不同的技術:-)

1:

<%=mainBean.getMemberOne().getSomeAttribute() %> 

2:

${mainBean.memberOne.someAttribute} 

3:

<bean:write name="mainBean" property="memberOne.someAttribute" /> 

備註:對於所有的變化我們有這個地方:

<jsp:useBean id="mainBean" scope="session" class="com.acme.MainBean" /> 

回答

0

Don't use scriptlets因爲它會讓你的代碼更難以維護和可讀性較差。此外,你將不會被要求相互獨立的觀點和程序邏輯,所以這是最糟糕的一個:

<%=mainBean.getMemberOne().getSomeAttribute() %> 

其他的人,我會說,是口味的問題。我更喜歡${mainBean.memberOne.someAttribute},因爲它簡短易讀。但是,由於Cross Site Scripting攻擊,請謹慎使用此方法。

+0

謝謝!我同意:如果兩個選項基本相同,則較短者更好。 跨站點腳本是一個很好的觀點。這將適用於所有3種變化,不是嗎? – StaticNoiseLog

相關問題