[GLASSFISH-581] No pageContext implicit object in deferred expressions, and no request object in immediate expressions Created: 17/Apr/06 Updated: 17/Apr/06 Resolved: 17/Apr/06 Status: Project: Component/s: Affects Version/s: Fix Version/s: Resolved glassfish web_container 9.0pe Type: Reporter: Resolution: Labels: Remaining Estimate: Time Spent: Original Estimate: Environment: Bug tony_robertson Incomplete None Not Specified Attachments: checkImplicitJSF.jsp 581 Issuezilla Id: 9.0pe Priority: Assignee: Votes: Major jluehe 0 Not Specified Not Specified Operating System: All Platform: All Description Within a JSF page, the implicit objects available to $ {...} expressions and #{...} expressions seems to be different. In particular the following expressions give the following results: Expression Value $ {request} (not defined) ${pageContext} org.apache.jasper.runtime.PageContextImpl@5f8113 ${pageContext.request} com.sun.faces.context.MyHttpServletRequestWrapper@19c38e3 #{request} com.sun.faces.context.MyHttpServletRequestWrapper@19c38e3 # {pageContext} (not defined) # {pageContext.request} (not defined) My understanding of the JSP2.1 specification is that all the above expressions should yeild valid objects (and that 'request' is effectively an alias for 'pageContext.request'). The JSP2.0 spec only has 'pageContext' as a top level object, but not 'request'. So it seems that when evaluating '$ {...}' expressions, the JSP2.0 spec is being followed, but when evaluating '#{...} ' expressions, the JSP2.1 is basically being followed, but 'pageContext' is not defined. A test JSP page is attached. [BTW, not certain about the glassfish version number, but it is the one from the distribution named "glassfish-installer-9.0-b42.zip" and the admin console version reports "Sun Java System Application Server Platform Edition 9.0 RC (build b42)"] Comments Comment by tony_robertson [ 17/Apr/06 ] Created an attachment (id=218) Test JSF page to print the value of some implicit object expressions Comment by jluehe [ 17/Apr/06 ] Notice that the Unified EL in JSP 2.1 allows different technologies to define and plug in their own ELResolvers for implicit objects: The ImplicitObjectELResolver for JSF (invoked by the JSF tags in your sample page) has no knowledge of any "pageContext" implicit object, whereas the ImplicitObjectELResolver for JSPs knows nothing about any "request" implicit object (it only knows about the implicit "pageContext.request"). Comment by tony_robertson [ 17/Apr/06 ] OK, yes that makes sense. #{} and ${} expressions on custom tags do give the same results. I should read the spec more carefully! Thanks. Generated at Tue Feb 09 16:40:35 UTC 2016 using JIRA 6.2.3#6260sha1:63ef1d6dac3f4f4d7db4c1effd405ba38ccdc558.