I didn't think you'd even need to have the type conversion properties
file, but w/o generic accessors I'm not sure.

The above JSP still has parens instead of square brackets.

d.

On Fri, Apr 29, 2011 at 4:07 PM, Joe <fullmit...@lycos.com> wrote:
> Dave Newton-6 wrote:
> Try the square brackets again.
>
> Chris Pratt wrote:
> Try: value="%{name}"
>
> That gets the value into the textbox, but when I submit the form, I get 
> either nothing in the action (square brackets) or an exception (using curly 
> brackets):
>
> <s:iterator value="beanList" var="bean">
>  <s:textfield theme="simple" name="beanList(%{#bean.id}).name" 
> value="%{name}" /><br>
> </s:iterator>
>
> All my save action does is print out the array.
>
> public class TestAction implements Action {
>        private static Logger log = Logger.getLogger(TestAction.class);
>
> // note: getters/setters/execute method already posted removed
>
>    public String save(){
>        log.debug("save: beanList size: "+beanList.size());
>        for (int i = 0; i < beanList.size(); i++){
>                log.debug(beanList.get(i));
>        }
>        return SUCCESS;
>    }
> }
>
>  The SUCCESS result is mapped to a blank JSP:
>
>        <action name="saveTest" method="save" 
> class="gmi.action.test.TestAction">
>            <result name="success">/test2.jsp</result>
>        </action>
>
> The exception from the curly-brace version is:
>
> [2011-04-29 15:57:29,802] ERROR 
> nsymphony.xwork2.ognl.accessor.XWorkMethodAccessor - An unexpected exception 
> occurred
> java.util.NoSuchElementException
>        at java.util.AbstractList$Itr.next(AbstractList.java:350)
>        at 
> com.opensymphony.xwork2.ognl.accessor.XWorkCollectionPropertyAccessor.getProperty(XWorkCollectionPropertyAcce
> ssor.java:122)
>        at 
> com.opensymphony.xwork2.ognl.accessor.XWorkMethodAccessor.callMethod(XWorkMethodAccessor.java:81)
>        at ognl.OgnlRuntime.callMethod(OgnlRuntime.java:846)
>        at 
> com.opensymphony.xwork2.ognl.accessor.CompoundRootAccessor.callMethod(CompoundRootAccessor.java:232)
>        at ognl.OgnlRuntime.callMethod(OgnlRuntime.java:846)
>        at ognl.ASTMethod.getValueBody(ASTMethod.java:73)
>        at ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:170)
>        at ognl.SimpleNode.getValue(SimpleNode.java:210)
>        at ognl.ASTChain.setValueBody(ASTChain.java:168)
>        at ognl.SimpleNode.evaluateSetValueBody(SimpleNode.java:177)
>        at ognl.SimpleNode.setValue(SimpleNode.java:246)
>        at ognl.Ognl.setValue(Ognl.java:476)
>        at com.opensymphony.xwork2.ognl.OgnlUtil.setValue(OgnlUtil.java:209)
>        at 
> com.opensymphony.xwork2.ognl.OgnlValueStack.trySetValue(OgnlValueStack.java:173)
>        at 
> com.opensymphony.xwork2.ognl.OgnlValueStack.setValue(OgnlValueStack.java:160)
>        at 
> com.opensymphony.xwork2.ognl.OgnlValueStack.setValue(OgnlValueStack.java:151)
>        at 
> com.opensymphony.xwork2.interceptor.ParametersInterceptor.setParameters(ParametersInterceptor.java:288)
>        at 
> com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:199)
>        at 
> com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
>        at 
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
>        at 
> com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:207)
>        at 
> com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
>        at 
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
>        at 
> com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:19
> 0)
>        at 
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
>        at 
> org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75)
>        at 
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
>        at 
> org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:94)
>        at 
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
>        at 
> org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:243)
>        at 
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
>        at 
> com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:100)
>        at 
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
>        at 
> com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:
> 141)
>        at 
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
>        at 
> org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:267)
>        at 
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
>        at 
> com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:142)
>        at 
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
>        at 
> com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:166)
>        at 
> com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
>        at 
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
>        at 
> com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:176)
>        at 
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
>        at 
> org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
>        at 
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
>        at 
> com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:190)
>        at 
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
>        at 
> com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:18
> 7)
>        at 
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
>        at 
> org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)
>        at 
> org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:485)
>        at 
> org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:395)
>        at 
> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
>        at 
> weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3496)
>        at 
> weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
>        at weblogic.security.service.SecurityManager.runAs(Unknown Source)
>        at 
> weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)
>        at 
> weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)
>        at 
> weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)
>        at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
>        at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
> [2011-04-29 15:57:29,802] WARN  com.opensymphony.xwork2.ognl.OgnlValueStack   
>      - Error setting expression 'beanList(
> 1).name' with value '[Ljava.lang.String;@1f848d1'
> ognl.OgnlException: target is null for setProperty(null, "name", 
> [Ljava.lang.String;@1f848d1)
>        at ognl.OgnlRuntime.setProperty(OgnlRuntime.java:1651)
>        at ognl.ASTProperty.setValueBody(ASTProperty.java:101)
>        at ognl.SimpleNode.evaluateSetValueBody(SimpleNode.java:177)
>        at ognl.SimpleNode.setValue(SimpleNode.java:246)
>        at ognl.ASTChain.setValueBody(ASTChain.java:172)
>        at ognl.SimpleNode.evaluateSetValueBody(SimpleNode.java:177)
>        at ognl.SimpleNode.setValue(SimpleNode.java:246)
>        at ognl.Ognl.setValue(Ognl.java:476)
> . . .
> repeated several times
> Is this a problem with type conversion?
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
> For additional commands, e-mail: user-h...@struts.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
For additional commands, e-mail: user-h...@struts.apache.org

Reply via email to