什么是JSP隐式对象和EL表达式隐式对象之间的区别?

时间:2011-05-12 03:44:12

标签: java jsp jstl el

我已经开始阅读JSP了。我遇到了JSP隐式对象,例如sessionapplication等等。在读完EL表达式后,我发现EL表达式也有隐含对象。

我的问题是这些隐含对象之间有什么区别?

即使它们在语义上是相同的,为什么它们会创建EL并使事情变得有点困难?

如果我错了,请纠正我

1 个答案:

答案 0 :(得分:4)

您获得的对象没有任何区别,只是在每种技术中访问相同对象的方式不同。例如,JSP中的request将为您提供与EL中${pageContext.request}相同的对象。

对于EL,为方便起见,可以使用其他隐式对象,例如paramrequestScope。你仍然可以获得相同的数据,但语法会很笨拙。

您可能希望将此与JSP中的隐式对象与Servlet中的“缺少”隐式对象进行比较。 JSP隐式对象与您可以在Servlet中保留的对象没有区别,只是隐式对象使得语法更清晰。例如,隐式session对象与通过HttpServletRequest#getSession()得到的对象相同。一个例外是pageContext,它在Servlet中没有等价物。