【发布时间】:2011-05-12 03:44:12
【问题描述】:
我已经开始阅读 JSP。我遇到了JSP隐式对象,例如session,application等。阅读EL表达式后,我知道EL表达式也有隐式对象。
我的问题是这些隐式对象有什么区别?
尽管它们在语义上是相同的,但为什么它们会创建 EL 并使事情变得有点困难?
如有错误请指正
【问题讨论】:
-
抱歉没有添加这些标签;
我已经开始阅读 JSP。我遇到了JSP隐式对象,例如session,application等。阅读EL表达式后,我知道EL表达式也有隐式对象。
我的问题是这些隐式对象有什么区别?
尽管它们在语义上是相同的,但为什么它们会创建 EL 并使事情变得有点困难?
如有错误请指正
【问题讨论】:
您获得的对象没有任何区别,只是在每种技术中访问相同对象的方式不同。例如,JSP 中的 request 将提供与 EL 中的 ${pageContext.request} 相同的对象。
在 EL 的情况下,为方便起见,可以使用其他隐式对象,例如 param 或 requestScope。您仍然可以获得相同的数据,但语法会很笨拙。
您可能希望将此与 JSP 中的隐式对象与 Servlet 中“缺少”隐式对象进行比较。 JSP 隐式对象与您可以在 Servlet 中获得的对象没有什么不同,只是隐式对象使语法更清晰。例如,隐含的session 对象与您通过HttpServletRequest#getSession() 获得的对象相同。 pageContext 是一个例外,它在 Servlet 中没有等效项。
【讨论】: