You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@myfaces.apache.org by "Yves deschamps (Commented) (JIRA)" <de...@myfaces.apache.org> on 2011/10/18 11:54:10 UTC

[jira] [Commented] (TRINIDAD-1804) Resources not found(404) errors

    [ https://issues.apache.org/jira/browse/TRINIDAD-1804?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13129625#comment-13129625 ] 

Yves deschamps commented on TRINIDAD-1804:
------------------------------------------

Hi,

I am using facelets and Trinidad 1.2.
I add this in my web.xml:

	<servlet-mapping>
		<servlet-name>Faces Servlet</servlet-name>
		<url-pattern>/faces/*</url-pattern>
	</servlet-mapping>

And this in my tr:inputDate component in my page (.xhtml):

        onclick="fixJspDir();"

This javaScript funtion is:

         function fixJspDir() {
			_jspDir = '/faces' + _jspDir;
	}

And all is fine !
                
> Resources not found(404) errors 
> --------------------------------
>
>                 Key: TRINIDAD-1804
>                 URL: https://issues.apache.org/jira/browse/TRINIDAD-1804
>             Project: MyFaces Trinidad
>          Issue Type: Bug
>    Affects Versions: 1.2.13-core 
>            Reporter: Tobias Eisenträger
>              Labels: MYFACES-1794
>         Attachments: 404ResourcesExample.war, 404_1.jpg, 404_2.jpg
>
>
> The error I got was when clicking the calendar icon and expecting a cal popup. Instead I got:
> "description The requested resource (.../__ADFv__.jsp) is not available."
> As it potentially affects a lot of other components beyond this trinidad one, I marked it major as these components just don't work anymore.
> E.g. MF mailing list with topic "RE: [Trinidad] HTTP 404 (file not found) while using DialogFramework" points that out.
> --Wolf
> We first thought that this was a bug in Myfaces core, but Leonardo Uribe confirmed that it is a Trinidad issue, here is his last comment from bug MYFACES-1794(more info in this jira)
> Leonardo Uribe added a comment - 04/May/10 06:57 AM
> Thanks for the test. That's the spirit! ;-)
> The error is on trinidad, not in myfaces. I tried the test with ri 1.2_14 and it fails too.
> In trinidad there is a class called org.apache.myfaces.trinidadinternal.renderkit.core.pages.GenericEntry . This one has a method called getGenericEntryPath that has this code:
>   static public String getGenericEntryPath(FacesContext context)
>   {
>     String url = context.getApplication().getViewHandler().
>       getActionURL(context, _GENERIC_ENTRY_VIEW_ID);
>     return url;
>   }
>   static private final String _GENERIC_ENTRY_VIEW_ID = "/__ADFv__";
> It delegates to the default view handler, Both trinidad and facelets does not override this method, so in myfaces this is handled by JspViewHandlerImpl.
> JSF 1.2 rev A spec section 7.5.2 Default ViewHandler Implementation says the following about ViewHandler.getActionURL:
> "....The getActionURL() method must fulfill the following responsibilities:
> ■ If the specified viewId does not start with a "/", throw
> IllegalArgumentException.
> ■ If prefix mapping (such as "/faces/*") is used for FacesServlet, prepend the context
> path of the current application, and the specified prefix, to the specified viewId and return
> the completed value. For example "/cardemo/faces/chooseLocale.jsp".
> ■ If suffix mapping (such as "*.faces") is used for FacesServlet, and the specified
> viewId ends with the specified suffix, replacing the suffix with the value specified by the
> context initialization parameter named by the symbolic constant
> ViewHandler.DEFAULT_SUFFIX_NAME (if no such context initialization parameter
> is present, use the value of the symbolic constant ViewHandler.DEFAULT_SUFFIX as the
> replacement suffix), prefix this value with the context path for the current web
> application, and return the result. For example "/cardemo/chooseLocale.faces" ....."
> Trinidad does not append the default suffix to the constant, so when extension mapping is used the algorithm of the spec does not replace the expected suffix, just append the constant to the url, causing the 404 error.
> The wrong link is rendered like this:
> http://localhost:8080/myfaces-test-trinidad/__ADFv__?_t=cd&value=1233532799700&loc=es&enc=iso-8859-1
> and it should be rendered like this:
> http://localhost:8080/myfaces-test-trinidad/__ADFv__.jsf?_t=cd&value=1233532799700&loc=es&enc=iso-8859-1
> Could you open an issue on trinidad issue tracker and reference this issue, so someone in trinidad could commit the solution proposed? 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira