在JSP页面中显示嵌套bean值的最佳方法?
我正在尝试理解JSP,想知道下面哪种变体更适合在JSP页面中输出嵌套数据 如果您必须维护一个web应用程序,您更愿意遇到以下哪种变化(如果有…)?为什么?或者有没有其他更好的方法来实现同样的目标 这是关于遗留应用程序中的更改,我仅限于JSP2.1。请不要建议切换到完全不同的技术:-) 1: 3:在JSP页面中显示嵌套bean值的最佳方法?,jsp,jsp-tags,Jsp,Jsp Tags,我正在尝试理解JSP,想知道下面哪种变体更适合在JSP页面中输出嵌套数据 如果您必须维护一个web应用程序,您更愿意遇到以下哪种变化(如果有…)?为什么?或者有没有其他更好的方法来实现同样的目标 这是关于遗留应用程序中的更改,我仅限于JSP2.1。请不要建议切换到完全不同的技术:-) 1: 3: 备注:对于所有变体,我们都有以下内容: <jsp:useBean id="mainBean" scope="session" class="com.acme.MainBean" />
备注:对于所有变体,我们都有以下内容:
<jsp:useBean id="mainBean" scope="session" class="com.acme.MainBean" />
,因为这样会使代码更难维护,可读性更低。此外,您不需要将视图和程序逻辑彼此分离,因此这是最糟糕的:
<%=mainBean.getMemberOne().getSomeAttribute() %>
我想说,其他的都是口味问题。我更喜欢
${mainBean.memberOne.someAttribute}
,因为它简短易读。但是,由于受到攻击,请小心使用此方法。谢谢!我也同意:如果两个选项基本相同,那么越短越好。跨站点脚本编写是一个很好的观点。这将同样适用于所有3种变体,不是吗?
<bean:write name="mainBean" property="memberOne.someAttribute" />
<jsp:useBean id="mainBean" scope="session" class="com.acme.MainBean" />
<%=mainBean.getMemberOne().getSomeAttribute() %>