JIRA issue related to this problem https://issues.apache.org/jira/browse/WW-4066
Regards -- Łukasz + 48 606 323 122 http://www.lenart.org.pl/ 2013/5/10 CRANFORD, CHRIS <chris.cranf...@setech.com>: > Yes the issue exists in .14 since that is what we are testing under. > Sent from my Verizon Wireless BlackBerry > > -----Original Message----- > From: Lukasz Lenart <lukaszlen...@apache.org> > Date: Fri, 10 May 2013 06:42:55 > To: Struts Users Mailing List<user@struts.apache.org> > Reply-To: Struts Users Mailing List <user@struts.apache.org> > Subject: Re: Parameter problem with names using '[' and ']' > > Hi Chris, > > Have you tried to use 2.3.14? For some reasons 2.3.12 was a bit impaired ;-) > > > Regards > -- > Łukasz > + 48 606 323 122 http://www.lenart.org.pl/ > > 2013/5/9 CRANFORD, CHRIS <chris.cranf...@setech.com>: >> Up until 2.3.12, we've used forms that contained parameter names that used >> '[' and ']' and those forms worked in both devMode=true and devMode=false. >> It appears once 2.3.12 was released, this is no longer the case when >> devMode=true. When forms are submitted, I get the following stack trace >> exception thrown: >> >> 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) >> >> If I remove our addActionMessage() override from the base action class, I no >> longer get this error. It doesn't make any sense to me because our >> addActionMessage() override is nothing more than the following: >> >> public void addActionMessage(String message) { >> // performs localization string translation >> and adds the message to parent class >> super.addActionMessage(getText(message)); >> } >> >> I have yet to find anywhere that says getText() should throw a >> StringIndexOutOfBoundsException for any reason. >> >> Furthermore, I've noticed that we're also getting tremendous dumps from >> OGNL's runtime about its inability to find setters or being able to set >> values on the action, even though when dumping the parameter list given to >> the action, the parameter list is identical to what it always has been >> previously. >> >> For example: >> >> 2013-05-09 08:35:37,635 ERROR >> [com.opensymphony.xwork2.interceptor.ParametersInterceptor]: Developer >> Notification (set struts.devMode to false to disable this message): >> Unexpected Exception caught setting 'stockStatus' on 'class >> com.setech.dw.inventory.web.ItemSearchAction: Error setting expression >> 'stockStatus' with value ['A', ] >> Error setting expression 'stockStatus' with value ['A', ] - [unknown >> location] >> Caused by: No object in the CompoundRoot has a publicly accessible property >> named 'stockStatus' (no setter could be found). - [unknown location] >> at >> com.opensymphony.xwork2.ognl.accessor.CompoundRootAccessor.setProperty(CompoundRootAccessor.java:106) >> at ognl.OgnlRuntime.setProperty(OgnlRuntime.java:2315) >> at ognl.ASTProperty.setValueBody(ASTProperty.java:127) >> at ognl.SimpleNode.evaluateSetValueBody(SimpleNode.java:220) >> at ognl.SimpleNode.setValue(SimpleNode.java:301) >> at ognl.Ognl.setValue(Ognl.java:737) >> at com.opensymphony.xwork2.ognl.OgnlUtil.setValue(OgnlUtil.java:224) >> at >> com.opensymphony.xwork2.ognl.OgnlValueStack.trySetValue(OgnlValueStack.java:187) >> at >> com.opensymphony.xwork2.ognl.OgnlValueStack.setValue(OgnlValueStack.java:174) >> >> In fact, ItemSearchCriteria is exposed via the ModelDriven interface, >> stockStatus is a private property with public getter/setters. >> >> I can disable devMode and of course these messages disappear, but they don't >> make any valid sense to me because the values are being correctly set in the >> ItemSearchCriteria model object. >> >> I'm concerned that we are likely stuck at 2.3.4 or won't be capable of >> making use of the devMode feature during development because of the side >> affects we are experiencing with the latest two GA releases of the framework. >> ___________________________________________________________ >> Chris Cranford >> SAP/Oracle/J2EE Applications Developer >> SETECH Inc & Companies >> 903 Industrial Drive, Murfreesboro TN 37129 >> Phone: (615) 890-1755 x361, Fax: (615) 890-9057, Mobile: (704) 650-1042 >> Email: chris.cranf...@setech.com<mailto:chris.cranf...@setech.com> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: user-unsubscr...@struts.apache.org > For additional commands, e-mail: user-h...@struts.apache.org > > > > Email secured by Check Point --------------------------------------------------------------------- To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org