0

我正在尝试理解 JSP,并且想知道下面哪些变体更适合在 JSP 页面中输出嵌套数据。

如果您必须维护 Web 应用程序,您更愿意遇到这些变化中的哪一种(如果有的话......)?为什么?还是有另一种更好的方式来实现相同的目标?

这是关于遗留应用程序的更改,我仅限于 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" />
4

1 回答 1

0

不要使用 scriptlet,因为它会使您的代码更难维护且可读性降低。此外,您不需要将视图和程序逻辑彼此分开,所以这是最糟糕的:

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

其他的,我会说,是一个品味问题。我更喜欢${mainBean.memberOne.someAttribute},因为它简短易读。但是,由于跨站点脚本攻击,请小心使用此方法。

于 2013-10-23T08:25:52.627 回答