[ 
https://issues.apache.org/jira/browse/MYFACES-1692?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12531032
 ] 

Martin Marinschek commented on MYFACES-1692:
--------------------------------------------

Hi Thomas,

but what if the state is longer than the 2kBs IE allows? This is essentially 
why the commandLink needs JavaScript - the state can be larger than this.

regards,

Martin

> CommandLink does not execute action if no javascript is allowed
> ---------------------------------------------------------------
>
>                 Key: MYFACES-1692
>                 URL: https://issues.apache.org/jira/browse/MYFACES-1692
>             Project: MyFaces Core
>          Issue Type: Bug
>          Components: General
>    Affects Versions:  1.2.0
>         Environment: Tomcat 6.0, javax.faces.STATE_SAVING_METHOD=server, 
> org.apache.myfaces.ALLOW_JAVASCRIPT=false
>            Reporter: Thomas Fischer
>
> Situation:
> The tag <h:commandLink action="#{someBean.someAction}" 
> value="submit"></h:commandLink> is used in a jsp page, which is visited by 
> the user. The user clicks on the link.
> Expected behaviour:
> The method someBean.someAction() should be called, and the navigation rule 
> which matches the outcome should determine the page to be displayed.
> Wrong behaviour:
> The method defined in action is not called and the same jsp page is rendered 
> again. 
> I did some debugging to find the reason of this problem. It seems to me that 
> the server does not recognize that the click on the link is a postback. In 
> line 172 in org.apache.myfaces.renderkit.html.HtmlResponseStateManager, the 
> HTTP Parameter ResponseStateManager.VIEW_STATE_PARAM is checked for 
> existence. If it is there, the request is a callback, and if it is not there, 
> the request is not treated as postback. This parameter is not encoded in the 
> link rendered by h:commandLink, thus the request is not treated as a 
> postback, and the page is just rendered again.
> If javaScript rendering is allowed, this works fine because the HTTP 
> parameter ResponseStateManager.VIEW_STATE_PARAM is rendered as a hidden input 
> field, and the javascript code does a form submit.
> It seems to me that the problem could be solved by adding the parameter 
> ResponseStateManager.VIEW_STATE_PARAM to the generated link (but I did not 
> check it).

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to