我正在尝试理解JSP,并且想知道下面哪个变体更适合在JSP页面中输出嵌套数据。
如果您需要维护网络应用,您希望遇到哪些变体(如果有的话)?为什么?或者是否存在实现同一目标的另一种优越方式?
这是关于遗留应用程序的更改,我仅限于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 :(得分:0)
Don't use scriptlets因为它会使您的代码难以维护且可读性降低。此外,您不需要彼此分离视图和程序逻辑,因此这是最糟糕的:
<%=mainBean.getMemberOne().getSomeAttribute() %>
我想说,其他的是品味问题。我更喜欢${mainBean.memberOne.someAttribute}
,因为它简短易读。但是,由于Cross Site Scripting攻击,请小心使用此方法。