ADF Faces Pages under WEB-INF Directory Do Not Render Correctly in 10.1.3.1


Some readers of the "Oracle JDeveloper 10g for Forms & PL/SQL Developers" informed me they had some problems with the Hands-on Practice of Chapter 11: Create the Home Page and Menus, section III.
Create a Template.
At page 344, under Add Components to the Template, step 1, after the drag&drop of the PanelPage on the h:form tag, the Visual Editor should normally
display the template page as the following:

Tuhra101304:

This is how the
page displays when doing the practice in JDeveloper 10.1.3.0

However, when using JDeveloper 10.1.3.1 the ADF Faces components do not render correctly:

Tuhra101310:

Closing and reopening JDeveloper as proposed in the NOTE at page 345 doesn't help.

This problem happens for all ADF Faces page you create in WEB-INF directory or in any of its sub-directories, f.ex. ...\WEB-INF\template\
We reported the issue in Bug 5665931 (*) - JSF PAGES CREATED IN SUB-DIRECTORY DON'T RENDER CORRECTLY IN THE VISUAL EDITOR
(*) requires an account on MetaLink.

However, Steve Muench points out that the problem is related to a change in the JavaServer Faces reference implementation version 1.1_02, as documented in the JDeveloper 10.1.3.1.0 Release Notes:

JDeveloper 10.1.3.1 upgrades to the JavaServer Faces reference implementation
version 1.1_02. This maintenance release of the JSF runtime from Sun introduces
a new restriction preventing the processing of any JSF page located in the ./WEB-INF
directory (or subdirectory thereof). If your JSF applications contain pages
in the WEB-INF directory, you will need to move those pages to another directory
under the web root other than WEB-INF for them to function correctly. If your
JSF pages use ADF Model data binding, after moving the JSP/JSPX pages from ./WEB-INF
(or subdirectory) to a new directory under your web root, you will need to reflect
the change in the "path" value inside the <pageMap> section
of your DataBindings.cpx file. For example, if your page previously had a "path"
value of "/WEB-INF/page/Test.jspx" and you moved this Test.jspx page
to ./public_html/page/Test.jspx -- where ./public_html is the HTML root directory
of your view controller project -- then you must edit the value of the path
and change it from "/WEB-INF/page/Test.jspx" to "/page/Test.jspx".

To avoid the issue, you can
  • either use JDeveloper 10.1.3.0
    [it can be downloaded from OTN; ensure you select Oracle  JDeveloper 10g (Version 10.1.3.0, build 3673)]

  • or you can store the template somewhere else than under WEB-INF.
    "The only reason for putting it there is so that it is not directly runnable. You can
    avoid this issue by not deploying the template file if it was elsewhere
    in the directory structure." (Thanks to Duncan Mills for his comment).
See authors' comment on their site in the Errata section.

Comments:

Or you could store the template somewhere other than under WEB-INF. The only reason for putting it there is so that it is not directly runnable. You can avoid this issue by not deploying the template file if it was elsewhere in the directory structure....

Posted by Duncan Mills on November 22, 2006 at 03:00 AM CET #

I'm using the version 10.1.3.0 build 3673 but this one does not work either. Although my adf libraries are not missing, there are messages saying Error exercising tag : af:forEach... or Error exercising tag : af:document... or Error exercising tag : afc:cache. Can you explain that? it came all of a sudden.

Posted by bt on February 26, 2007 at 01:14 PM CET #

I am having the same problem as the gentleman above "Error exercising tag : af:forEach... or Error exercising tag : af:document... or Error exercising tag : afc:cache" I turned on logging like you said and here is what I think! I think this might be an IDE bug related to having registerd a faces session bean faces-config.xml oracle.adf.core model gdais.pmoportal.management.ModelManager session ... which starts stack traces from the first control that references the session object Error exercising tag : af:outputLabel java.lang.IllegalStateException: Cannot call getAttribute() on invalidated session at oracle.jdevimpl.webapp.design.support.http.DesignTimeHttpSession.getAttribute(DesignTimeHttpSession.java:575) at oracle.jdevimpl.webapp.design.support.jsp.DesignTimePageContext.getAttribute(DesignTimePageContext.java:234) and contrinue to error outward/upward up the tag tree until it reaches the f:view tag. Error exercising tag : f:view java.lang.IllegalStateException: You cannot call this method on an invalidated session at oracle.jdevimpl.webapp.design.support.http.DesignTimeHttpSession.setAttribute(DesignTimeHttpSession.java:827) at com.sun.faces.taglib.jsf_core.ViewTag.doEndTag(ViewTag.java:242) at oracle.jdevimpl.webapp.design.renderer.DesignTimeJspActionRenderer.doEndTag(DesignTimeJspActionRenderer.java:1346) at oracle.jdevimpl.webapp.design.renderer.DesignTimeJspActionRenderer._executeTag(DesignTimeJspActionRenderer.java:1694) at oracle.jdevimpl.webapp.design.renderer.DesignTimeJspActionRenderer.render(DesignTimeJspActionRenderer.java:241) at oracle.jdevimpl.webapp.design.renderer.FacesActionRenderer.render(FacesActionRenderer.java:128) at oracle.jdevimpl.webapp.design.DesignTimeRenderer.renderChildren(DesignTimeRenderer.java:424) at oracle.jdevimpl.webapp.jsp.renderers.JSPCoreSyntaxRenderer.render(JSPCoreSyntaxRenderer.java:82) at oracle.jdevimpl.webapp.design.support.jsp.DesignTimeJspServlet._renderSource(DesignTimeJspServlet.java:195) at oracle.jdevimpl.webapp.design.support.jsp.DesignTimeJspServlet.serviceJsp(DesignTimeJspServlet.java:109) at oracle.jdevimpl.webapp.design.support.jsp.DesignTimeJspServlet.service(DesignTimeJspServlet.java:73) at javax.servlet.http.HttpServlet.service(HttpServlet.java:856) at oracle.jdevimpl.webapp.design.support.http.DesignTimeServletInfo.service(DesignTimeServletInfo.java:274) at oracle.jdevimpl.webapp.design.support.http.DesignTimeRequestDispatcher.dispatch(DesignTimeRequestDispatcher.java:236) at oracle.jdevimpl.webapp.design.support.http.DesignTimeRequestDispatcher.forward(DesignTimeRequestDispatcher.java:73) at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:346) at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:152) at oracle.adfinternal.view.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:157) at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:107) at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:245) at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:137) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:214) at oracle.jdevimpl.webapp.design.support.http.DesignTimeServletInfo.service(DesignTimeServletInfo.java:274) at oracle.jdevimpl.webapp.design.support.http.DesignTimeRequestDispatcher$DesignTimeFilterChain.doFilter(DesignTimeRequestDispatcher.java:380) at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._invokeDoFilter(AdfFacesFilterImpl.java:228) at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._doFilterImpl(AdfFacesFilterImpl.java:197) at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl.doFilter(AdfFacesFilterImpl.java:123) at oracle.adf.view.faces.webapp.AdfFacesFilter.doFilter(AdfFacesFilter.java:103) at oracle.jdevimpl.webapp.design.support.http.DesignTimeRequestDispatcher$DesignTimeFilterChain.doFilter(DesignTimeRequestDispatcher.java:357) at oracle.jdevimpl.webapp.design.support.http.DesignTimeRequestDispatcher.dispatch(DesignTimeRequestDispatcher.java:232) at oracle.jdevimpl.webapp.design.support.http.DesignTimeServletContainerContext._service(DesignTimeServletContainerContext.java:681) at oracle.jdevimpl.webapp.design.support.http.DesignTimeServletContainerContext.service(DesignTimeServletContainerContext.java:626) at oracle.jdevimpl.webapp.design.DesignTimeRenderThread.service(DesignTimeRenderThread.java:74) at oracle.jdevimpl.webapp.design.DesignTimeEngine.service(DesignTimeEngine.java:348) at oracle.jdevimpl.webapp.design.view.DesignTimeViewDocument._serviceJsp(DesignTimeViewDocument.java:851) at oracle.jdevimpl.webapp.design.view.DesignTimeViewDocument.rebuildTree(DesignTimeViewDocument.java:137) at oracle.jdevimpl.webapp.design.view.DesignTimeFixedViewDocument.rebuildTree(DesignTimeFixedViewDocument.java:154) at oracle.jdevimpl.webapp.model.content.dom.view.proxy.ProxyViewDocument.initialize(ProxyViewDocument.java:80) at oracle.jdevimpl.webapp.editor.AbstractWebAppEditor.rebuildViewDocument(AbstractWebAppEditor.java:686) at oracle.jdevimpl.webapp.editor.html.HtmlEditor.rebuildViewDocument(HtmlEditor.java:621) at oracle.jdevimpl.webapp.editor.jsp.JspEditor.rebuildViewDocument(JspEditor.java:209) at oracle.jdevimpl.webapp.editor.AbstractWebAppEditor.createDocuments(AbstractWebAppEditor.java:1206) at oracle.jdevimpl.webapp.editor.AbstractWebAppEditor.open(AbstractWebAppEditor.java:393) at oracle.jdevimpl.webapp.editor.html.HtmlEditor.open(HtmlEditor.java:172) at oracle.jdevimpl.webapp.editor.jsp.JspEditor.open(JspEditor.java:113) at oracle.ideimpl.editor.EditorState.openEditor(EditorState.java:239) at oracle.ideimpl.editor.EditorState.createEditor(EditorState.java:147) at oracle.ideimpl.editor.EditorState.getOrCreateEditor(EditorState.java:90) at oracle.ideimpl.editor.SplitPaneState.canSetEditorStatePos(SplitPaneState.java:231) at oracle.ideimpl.editor.SplitPaneState.setCurrentEditorStatePos(SplitPaneState.java:194) at oracle.ideimpl.editor.TabGroupState.createSplitPaneState(TabGroupState.java:103) at oracle.ideimpl.editor.TabGroup.addTabGroupState(TabGroup.java:275) at oracle.ideimpl.editor.EditorManagerImpl.createEditor(EditorManagerImpl.java:1261) at oracle.ideimpl.editor.EditorManagerImpl.createEditor(EditorManagerImpl.java:1196) at oracle.ideimpl.editor.EditorManagerImpl.openEditor(EditorManagerImpl.java:1131) at oracle.ideimpl.editor.EditorManagerImpl.whenOpenEditor(EditorManagerImpl.java:2332) at oracle.ideimpl.editor.EditorManagerImpl.handleDefaultAction(EditorManagerImpl.java:1893) at oracle.ide.controller.ContextMenu.fireDefaultAction(ContextMenu.java:343) at oracle.ideimpl.explorer.BaseTreeExplorer.fireDefaultAction(BaseTreeExplorer.java:1576) at oracle.ideimpl.explorer.BaseTreeExplorer.dblClicked(BaseTreeExplorer.java:1913) at oracle.ideimpl.explorer.BaseTreeExplorer.mouseReleased(BaseTreeExplorer.java:1934) at oracle.ideimpl.explorer.CustomTree.processMouseEvent(CustomTree.java:176) at java.awt.Component.processEvent(Component.java:5253) at java.awt.Container.processEvent(Container.java:1966) at java.awt.Component.dispatchEventImpl(Component.java:3955) at java.awt.Container.dispatchEventImpl(Container.java:2024) at java.awt.Component.dispatchEvent(Component.java:3803) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822) at java.awt.Container.dispatchEventImpl(Container.java:2010) at java.awt.Window.dispatchEventImpl(Window.java:1774) at java.awt.Component.dispatchEvent(Component.java:3803) at java.awt.EventQueue.dispatchEvent(EventQueue.java:463) at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149) at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)

Posted by Bill Roe on July 26, 2007 at 06:10 AM CEST #

Hi Bill, I don't have access to the source code of the IDE itself, so it's difficult for me to diagnose what can be wrong. Would you have a test case available somewhere so that we can check with development what's going wrong ? Regards, Didier.

Posted by Didier Laurent on July 26, 2007 at 08:38 AM CEST #

Didier, I sent further information to Wayne Reeser and Paul Snodgrass... I can provide you with test cases. Contact me at william.roe@gd-ais.com. I'll try an email to you directly. Bill Roe

Posted by Bill Roe on July 26, 2007 at 11:16 PM CEST #

Hi Bill, I replied to your mail. See other issue, but somehow related, in http://www.orablogs.com/fnimphius/archives/001822.html Regards, Didier

Posted by Didier Laurent on July 27, 2007 at 03:20 AM CEST #

Post a Comment:
Comments are closed for this entry.
About

Didier Laurent - Sr Principal Support Engineer in the JDeveloper team

Search

Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today