struts-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Chris Cranford (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (WW-4066) Submitting form with parameters using brackets while devMode=true yields StringIndexOutOfBoundsException
Date Mon, 20 May 2013 14:33:16 GMT

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

Chris Cranford edited comment on WW-4066 at 5/20/13 2:32 PM:
-------------------------------------------------------------

bq. If you take a look on paramsPrepareParamsStack you will spot that the params interceptor
is listed two times - before and after prepare, but there is also modelDriven listed just
before the second params which will put non-null Model onto stack.

I don't recall specifically why the interceptor stack was designed that way beyond perhaps
being backward compatible.  I recall a discussion sometime back where it was decided that
the interceptor stack would be designed this way on the mailing list.  

I just applied 2.3.4.1 to the sample application and with devMode=true, I do see where the
OGNL exceptions are written to the logs, perhaps I had overlooked them prior.  What boggles
me however, is that StringIndexOutOfBoundsException isn't thrown as a side affect.  And the
stack trace related to that exception is coming from {{LocalizedTextUtil}}.  Why is that just
now surfacing but not in prior builds?
                
      was (Author: crancran):
    bq. If you take a look on paramsPrepareParamsStack you will spot that the params interceptor
is listed two times - before and after prepare, but there is also modelDriven listed just
before the second params which will put non-null Model onto stack.

I don't recall specifically why the interceptor stack was designed that way beyond perhaps
being backward compatible.  I recall a discussion sometime back where it was decided that
the interceptor stack would be designed this way.  

I just applied 2.3.4.1 to the sample application and with devMode=true, I do see where the
OGNL exceptions are written to the logs, perhaps I had overlooked them prior.  What boggles
me however, is that StringIndexOutOfBoundsException isn't thrown as a side affect.  And the
stack trace related to that exception is coming from {{LocalizedTextUtil}}.  Why is that just
now surfacing but not in prior builds?
                  
> Submitting form with parameters using brackets while devMode=true yields StringIndexOutOfBoundsException
> --------------------------------------------------------------------------------------------------------
>
>                 Key: WW-4066
>                 URL: https://issues.apache.org/jira/browse/WW-4066
>             Project: Struts 2
>          Issue Type: Bug
>          Components: Core Actions
>    Affects Versions: 2.3.14
>            Reporter: Chris Cranford
>            Assignee: Lukasz Lenart
>             Fix For: 2.3.15
>
>         Attachments: testcase.zip
>
>
> Our BaseAction which extends ActionSupport overrides the addActionMessage() with the
following:
> {code:java}
> @Override
> public void addActionMessage(String message) {
>   super.addActionMessage(getText(message));
> }
> {code}
> With the above method in place during devMode=true, the following error stack trace occurs:
> {noformat}
> java.lang.StringIndexOutOfBoundsException: String index out of range: -1
>   at java.lang.String.substring(String.java:1871)
>   at com.opensymphony.xwork2.util.LocalizedTextUtil.findText(LocalizedTextUtil.java:426)
>   at com.opensymphony.xwork2.util.LocalizedTextUtil.findText(LocalizedTextUtil.java:362)
>   at com.opensymphony.xwork2.TextProviderSupport.getText(TextProviderSupport.java:208)
>   at com.opensymphony.xwork2.TextProviderSupport.getText(TextProviderSupport.java:123)
>   at com.opensymphony.xwork2.ActionSupport.getText(ActionSupport.java:103)
>   at com.setech.dw.common.web.BaseAction.addActionMessage(BaseAction.java:209)
>   at com.opensymphony.xwork2.interceptor.ParametersInterceptor.setParameters(ParametersInterceptor.java:337)
>   at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:241)
> {noformat}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message