You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@struts.apache.org by "Wilson M Penha Jr. (JIRA)" <ji...@apache.org> on 2008/06/07 18:45:05 UTC

[jira] Created: (WW-2672) Autocomplenter don't submit the attribute value to the url action when use valueNotifyTopics.

Autocomplenter don't submit the attribute value to the url action when use valueNotifyTopics.
---------------------------------------------------------------------------------------------

                 Key: WW-2672
                 URL: https://issues.apache.org/struts/browse/WW-2672
             Project: Struts 2
          Issue Type: Bug
          Components: Core Actions, Core Interceptors, Plugin - Dojo Tags
    Affects Versions: 2.1.2, 2.1.1, 2.1.0
         Environment: Windows Server 2003, JDK1.5.0.11, Tomcat5.5.25, IE 7 & Firefox2
            Reporter: Wilson M Penha Jr.
            Priority: Critical


I got three days running on this issue, and now I could identify what happens and when, but I could not say why?

I'm doing one app with Struts2.1.x, Spring2.5.x, Hibernate3.

I've been trying to run a autocompleter with valueNotifyTopics to another component such as <s:div and/or <s:autocompleter.

See my code:

.jsp

<s:textfield theme="simple" id="id" name="proposta.id" cssStyle="display:none"/>

<form id="formEditar">
<sx:autocompleter 
   id="condicaoPagamentoId" name="proposta.condicaoPagamento.id" 
   list="condicaoPagamentoList" keyName="proposta.condicaoPagamento.id" listKey="id"
   listValue="descricao"
   valueNotifyTopics="/condicaodepagamento"
   forceValidOption="true" />

<s:url var="getParcelas" namespace="/proposta" action="gerarParcelas">
</s:url> 
  <sx:div id="divParcelas" href="%{#getParcelas}" listenTopics="/condicaodepagamento" formId="formEditar" autoStart="true">
  </sx:div>
</form>

struts.xml

<package name="proposta" extends="struts2" namespace="/proposta">
<action name="gerarParcelas" class="propostaAction" method="gerarParcelas">
	<interceptor-ref name="defaultStack">
	<param name="validation.excludeMethods">gerarParcelas</param>
	</interceptor-ref>
	<result>/WEB-INF/jsp/proposta/parcelas.jsp</result>
</action>
</package>

Behave 1 at IE7:
When I open my jsp it isn't sending the value for "proposta.condicaoPagamento.id" to my action, it appears as null, causing an error.

Behave 2 at IE7:
I changed the "proposta.id" attribute to be set with <input type="hidden"...> instead <s:textfield...>, so when I open my jsp I got another exception before it reach the action, is was: 
java.lang.NumberFormatException: For input string: "[Ljava.lang.String;@1d1cd0d"
	at java.lang.NumberFormatException.forInputString(Unknown Source)
	at java.lang.Long.parseLong(Unknown Source)
	at java.lang.Long.parseLong(Unknown Source)
.....
ognl.MethodFailedException: Method "setId" failed for object scoweb.app.model.CondicaoPagamento@ed21d3 [java.lang.NoSuchMethodException: setId([Ljava.lang.String;)]
....
expr: proposta.condicaoPagamento.id val: [Ljava.lang.String;@1d1cd0d context: ognl.OgnlContext@99c60f88 root:[scoweb.app.action.PropostaAction@2a590d, com.opensymphony.xwork2.DefaultTextProvider@117ae94] value: [Ljava.lang.String;@1d1cd0d
2008-06-07 12:29:30,234 ERROR (com.opensymphony.xwork2.interceptor.ParametersInterceptor:24) - ParametersInterceptor - [setParameters]: Unexpected Exception caught setting 'proposta.condicaoPagamento.id' on 'class scoweb.app.action.PropostaAction: Error setting expression 'proposta.condicaoPagamento.id' with value '[Ljava.lang.String;@1d1cd0d'
2008-06-07 12:29:30,515 ERROR (org.apache.struts2.dispatcher.Dispatcher:28) - Could not find action or result
No result defined for action scoweb.app.action.PropostaAction and result input
	at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:357)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:259)
                    .............
The attribute type for Id is set to Long

private Long Id;
setId(Long id)...
Long getId()...

Behave 3 at Firefox:
For both cases it's show the same as Behave 2 does.

I tried to change the attributes from the autocompleter to do like the showcase example, see what happens:
.jsp

<s:textfield theme="simple" id="id" name="proposta.id" cssStyle="display:none"/>

<sx:autocompleter 
  name="select" 
  list="{'fruits','colors'}" 
  value="colors"
   valueNotifyTopics="/condicaodepagamento"
   forceValidOption="true" />

<s:url var="getParcelas" namespace="/proposta" action="gerarParcelas">
</s:url> 
  <sx:div id="divParcelas" href="%{#getParcelas}" listenTopics="/condicaodepagamento" formId="formEditar" autoStart="true">
  </sx:div>

Behave 1 at IE7 

The attribute "select" appears as null into the action

Behave 2 at IE7:
I changed the "proposta.id" attribute to be set with <input type="hidden"...> instead <s:textfield...>, so when I open my jsp the "select" attribute was right populated.

Behave 3 at Firefox2.
In both cases the attribute "select" was filled by the action.

Now I'm stuck on that and asking for help for you guys.

NOTE: If just use a <s:select...> component instead <s:autocompleter...> to select the "proposta.condicaoPagamento.id" and ignoring the <s:div...> thing, it just work as should. 

Thanks and regards,

Wilson M. Penha Jr. 



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


[jira] Commented: (WW-2672) Autocomplenter don't submit the attribute value to the url action when use valueNotifyTopics.

Posted by "Musachy Barroso (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/struts/browse/WW-2672?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=44224#action_44224 ] 

Musachy Barroso commented on WW-2672:
-------------------------------------

I am not sure what the problem is, but the difference between IE and FF makes me think this is one of those tricky IE problems. Post your question, as well as the code here in user mailing list.  

> Autocomplenter don't submit the attribute value to the url action when use valueNotifyTopics.
> ---------------------------------------------------------------------------------------------
>
>                 Key: WW-2672
>                 URL: https://issues.apache.org/struts/browse/WW-2672
>             Project: Struts 2
>          Issue Type: Bug
>          Components: Plugin - Dojo Tags
>    Affects Versions: 2.1.0, 2.1.1, 2.1.2
>         Environment: Windows Server 2003, JDK1.5.0.11, Tomcat5.5.25, IE 7 & Firefox2
>            Reporter: Wilson M Penha Jr.
>             Fix For: 2.1.3
>
>
> I got three days running on this issue, and now I could identify what happens and when, but I could not say why?
> I'm doing one app with Struts2.1.x, Spring2.5.x, Hibernate3.
> I've been trying to run a autocompleter with valueNotifyTopics to another component such as <s:div and/or <s:autocompleter.
> See my code:
> .jsp
> <form id="formEditar">
> <s:textfield theme="simple" id="id" name="proposta.id" cssStyle="display:none"/>
> <sx:autocompleter 
>    id="condicaoPagamentoId" name="proposta.condicaoPagamento.id" 
>    list="condicaoPagamentoList" keyName="proposta.condicaoPagamento.id" listKey="id"
>    listValue="descricao"
>    valueNotifyTopics="/condicaodepagamento"
>    forceValidOption="true" />
> <s:url var="getParcelas" namespace="/proposta" action="gerarParcelas">
> </s:url> 
>   <sx:div id="divParcelas" href="%{#getParcelas}" listenTopics="/condicaodepagamento" formId="formEditar" autoStart="true">
>   </sx:div>
> </form>
> struts.xml
> <package name="proposta" extends="struts2" namespace="/proposta">
> <action name="gerarParcelas" class="propostaAction" method="gerarParcelas">
> 	<interceptor-ref name="defaultStack">
> 	<param name="validation.excludeMethods">gerarParcelas</param>
> 	</interceptor-ref>
> 	<result>/WEB-INF/jsp/proposta/parcelas.jsp</result>
> </action>
> </package>
> Behave 1 at IE7:
> When I open my jsp it isn't sending the value for "proposta.condicaoPagamento.id" to my action, it appears as null, causing an error.
> Behave 2 at IE7:
> I changed the "proposta.id" attribute to be set with <input type="hidden"...> instead <s:textfield...>, so when I open my jsp I got another exception before it reach the action, is was: 
> java.lang.NumberFormatException: For input string: "[Ljava.lang.String;@1d1cd0d"
> 	at java.lang.NumberFormatException.forInputString(Unknown Source)
> 	at java.lang.Long.parseLong(Unknown Source)
> 	at java.lang.Long.parseLong(Unknown Source)
> .....
> ognl.MethodFailedException: Method "setId" failed for object scoweb.app.model.CondicaoPagamento@ed21d3 [java.lang.NoSuchMethodException: setId([Ljava.lang.String;)]
> ....
> expr: proposta.condicaoPagamento.id val: [Ljava.lang.String;@1d1cd0d context: ognl.OgnlContext@99c60f88 root:[scoweb.app.action.PropostaAction@2a590d, com.opensymphony.xwork2.DefaultTextProvider@117ae94] value: [Ljava.lang.String;@1d1cd0d
> 2008-06-07 12:29:30,234 ERROR (com.opensymphony.xwork2.interceptor.ParametersInterceptor:24) - ParametersInterceptor - [setParameters]: Unexpected Exception caught setting 'proposta.condicaoPagamento.id' on 'class scoweb.app.action.PropostaAction: Error setting expression 'proposta.condicaoPagamento.id' with value '[Ljava.lang.String;@1d1cd0d'
> 2008-06-07 12:29:30,515 ERROR (org.apache.struts2.dispatcher.Dispatcher:28) - Could not find action or result
> No result defined for action scoweb.app.action.PropostaAction and result input
> 	at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:357)
> 	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:259)
>                     .............
> The attribute type for Id is set to Long
> private Long Id;
> setId(Long id)...
> Long getId()...
> Behave 3 at Firefox:
> For both cases it's show the same as Behave 2 does.
> I tried to change the attributes from the autocompleter to do like the showcase example, see what happens:
> .jsp
> <s:textfield theme="simple" id="id" name="proposta.id" cssStyle="display:none"/>
> <sx:autocompleter 
>   name="select" 
>   list="{'fruits','colors'}" 
>   value="colors"
>    valueNotifyTopics="/condicaodepagamento"
>    forceValidOption="true" />
> <s:url var="getParcelas" namespace="/proposta" action="gerarParcelas">
> </s:url> 
>   <sx:div id="divParcelas" href="%{#getParcelas}" listenTopics="/condicaodepagamento" formId="formEditar" autoStart="true">
>   </sx:div>
> Behave 1 at IE7 
> The attribute "select" appears as null into the action
> Behave 2 at IE7:
> I changed the "proposta.id" attribute to be set with <input type="hidden"...> instead <s:textfield...>, so when I open my jsp the "select" attribute was right populated.
> Behave 3 at Firefox2.
> In both cases the attribute "select" was filled by the action.
> Now I'm stuck on that and asking for help for you guys.
> NOTE: If just use a <s:select...> component instead <s:autocompleter...> to select the "proposta.condicaoPagamento.id" and ignoring the <s:div...> thing, it just work as should. 
> Thanks and regards,
> Wilson M. Penha Jr. 

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


[jira] Closed: (WW-2672) Autocomplenter don't submit the attribute value to the url action when use valueNotifyTopics.

Posted by "Musachy Barroso (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/struts/browse/WW-2672?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Musachy Barroso closed WW-2672.
-------------------------------

    Resolution: Won't Fix

If after posting on the user list you still think this is an struts problem, feel free to re-open.

> Autocomplenter don't submit the attribute value to the url action when use valueNotifyTopics.
> ---------------------------------------------------------------------------------------------
>
>                 Key: WW-2672
>                 URL: https://issues.apache.org/struts/browse/WW-2672
>             Project: Struts 2
>          Issue Type: Bug
>          Components: Plugin - Dojo Tags
>    Affects Versions: 2.1.0, 2.1.1, 2.1.2
>         Environment: Windows Server 2003, JDK1.5.0.11, Tomcat5.5.25, IE 7 & Firefox2
>            Reporter: Wilson M Penha Jr.
>             Fix For: 2.1.3
>
>
> I got three days running on this issue, and now I could identify what happens and when, but I could not say why?
> I'm doing one app with Struts2.1.x, Spring2.5.x, Hibernate3.
> I've been trying to run a autocompleter with valueNotifyTopics to another component such as <s:div and/or <s:autocompleter.
> See my code:
> .jsp
> <form id="formEditar">
> <s:textfield theme="simple" id="id" name="proposta.id" cssStyle="display:none"/>
> <sx:autocompleter 
>    id="condicaoPagamentoId" name="proposta.condicaoPagamento.id" 
>    list="condicaoPagamentoList" keyName="proposta.condicaoPagamento.id" listKey="id"
>    listValue="descricao"
>    valueNotifyTopics="/condicaodepagamento"
>    forceValidOption="true" />
> <s:url var="getParcelas" namespace="/proposta" action="gerarParcelas">
> </s:url> 
>   <sx:div id="divParcelas" href="%{#getParcelas}" listenTopics="/condicaodepagamento" formId="formEditar" autoStart="true">
>   </sx:div>
> </form>
> struts.xml
> <package name="proposta" extends="struts2" namespace="/proposta">
> <action name="gerarParcelas" class="propostaAction" method="gerarParcelas">
> 	<interceptor-ref name="defaultStack">
> 	<param name="validation.excludeMethods">gerarParcelas</param>
> 	</interceptor-ref>
> 	<result>/WEB-INF/jsp/proposta/parcelas.jsp</result>
> </action>
> </package>
> Behave 1 at IE7:
> When I open my jsp it isn't sending the value for "proposta.condicaoPagamento.id" to my action, it appears as null, causing an error.
> Behave 2 at IE7:
> I changed the "proposta.id" attribute to be set with <input type="hidden"...> instead <s:textfield...>, so when I open my jsp I got another exception before it reach the action, is was: 
> java.lang.NumberFormatException: For input string: "[Ljava.lang.String;@1d1cd0d"
> 	at java.lang.NumberFormatException.forInputString(Unknown Source)
> 	at java.lang.Long.parseLong(Unknown Source)
> 	at java.lang.Long.parseLong(Unknown Source)
> .....
> ognl.MethodFailedException: Method "setId" failed for object scoweb.app.model.CondicaoPagamento@ed21d3 [java.lang.NoSuchMethodException: setId([Ljava.lang.String;)]
> ....
> expr: proposta.condicaoPagamento.id val: [Ljava.lang.String;@1d1cd0d context: ognl.OgnlContext@99c60f88 root:[scoweb.app.action.PropostaAction@2a590d, com.opensymphony.xwork2.DefaultTextProvider@117ae94] value: [Ljava.lang.String;@1d1cd0d
> 2008-06-07 12:29:30,234 ERROR (com.opensymphony.xwork2.interceptor.ParametersInterceptor:24) - ParametersInterceptor - [setParameters]: Unexpected Exception caught setting 'proposta.condicaoPagamento.id' on 'class scoweb.app.action.PropostaAction: Error setting expression 'proposta.condicaoPagamento.id' with value '[Ljava.lang.String;@1d1cd0d'
> 2008-06-07 12:29:30,515 ERROR (org.apache.struts2.dispatcher.Dispatcher:28) - Could not find action or result
> No result defined for action scoweb.app.action.PropostaAction and result input
> 	at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:357)
> 	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:259)
>                     .............
> The attribute type for Id is set to Long
> private Long Id;
> setId(Long id)...
> Long getId()...
> Behave 3 at Firefox:
> For both cases it's show the same as Behave 2 does.
> I tried to change the attributes from the autocompleter to do like the showcase example, see what happens:
> .jsp
> <s:textfield theme="simple" id="id" name="proposta.id" cssStyle="display:none"/>
> <sx:autocompleter 
>   name="select" 
>   list="{'fruits','colors'}" 
>   value="colors"
>    valueNotifyTopics="/condicaodepagamento"
>    forceValidOption="true" />
> <s:url var="getParcelas" namespace="/proposta" action="gerarParcelas">
> </s:url> 
>   <sx:div id="divParcelas" href="%{#getParcelas}" listenTopics="/condicaodepagamento" formId="formEditar" autoStart="true">
>   </sx:div>
> Behave 1 at IE7 
> The attribute "select" appears as null into the action
> Behave 2 at IE7:
> I changed the "proposta.id" attribute to be set with <input type="hidden"...> instead <s:textfield...>, so when I open my jsp the "select" attribute was right populated.
> Behave 3 at Firefox2.
> In both cases the attribute "select" was filled by the action.
> Now I'm stuck on that and asking for help for you guys.
> NOTE: If just use a <s:select...> component instead <s:autocompleter...> to select the "proposta.condicaoPagamento.id" and ignoring the <s:div...> thing, it just work as should. 
> Thanks and regards,
> Wilson M. Penha Jr. 

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


[jira] Updated: (WW-2672) Autocompleter don't submit the attribute value to the url action when use valueNotifyTopics.

Posted by "James Holmes (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/struts/browse/WW-2672?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

James Holmes updated WW-2672:
-----------------------------

    Summary: Autocompleter don't submit the attribute value to the url action when use valueNotifyTopics.  (was: Autocomplenter don't submit the attribute value to the url action when use valueNotifyTopics.)

> Autocompleter don't submit the attribute value to the url action when use valueNotifyTopics.
> --------------------------------------------------------------------------------------------
>
>                 Key: WW-2672
>                 URL: https://issues.apache.org/struts/browse/WW-2672
>             Project: Struts 2
>          Issue Type: Bug
>          Components: Plugin - Dojo Tags
>    Affects Versions: 2.1.0, 2.1.1, 2.1.2
>         Environment: Windows Server 2003, JDK1.5.0.11, Tomcat5.5.25, IE 7 & Firefox2
>            Reporter: Wilson M Penha Jr.
>             Fix For: 2.1.3
>
>
> I got three days running on this issue, and now I could identify what happens and when, but I could not say why?
> I'm doing one app with Struts2.1.x, Spring2.5.x, Hibernate3.
> I've been trying to run a autocompleter with valueNotifyTopics to another component such as <s:div and/or <s:autocompleter.
> See my code:
> .jsp
> <form id="formEditar">
> <s:textfield theme="simple" id="id" name="proposta.id" cssStyle="display:none"/>
> <sx:autocompleter 
>    id="condicaoPagamentoId" name="proposta.condicaoPagamento.id" 
>    list="condicaoPagamentoList" keyName="proposta.condicaoPagamento.id" listKey="id"
>    listValue="descricao"
>    valueNotifyTopics="/condicaodepagamento"
>    forceValidOption="true" />
> <s:url var="getParcelas" namespace="/proposta" action="gerarParcelas">
> </s:url> 
>   <sx:div id="divParcelas" href="%{#getParcelas}" listenTopics="/condicaodepagamento" formId="formEditar" autoStart="true">
>   </sx:div>
> </form>
> struts.xml
> <package name="proposta" extends="struts2" namespace="/proposta">
> <action name="gerarParcelas" class="propostaAction" method="gerarParcelas">
> 	<interceptor-ref name="defaultStack">
> 	<param name="validation.excludeMethods">gerarParcelas</param>
> 	</interceptor-ref>
> 	<result>/WEB-INF/jsp/proposta/parcelas.jsp</result>
> </action>
> </package>
> Behave 1 at IE7:
> When I open my jsp it isn't sending the value for "proposta.condicaoPagamento.id" to my action, it appears as null, causing an error.
> Behave 2 at IE7:
> I changed the "proposta.id" attribute to be set with <input type="hidden"...> instead <s:textfield...>, so when I open my jsp I got another exception before it reach the action, is was: 
> java.lang.NumberFormatException: For input string: "[Ljava.lang.String;@1d1cd0d"
> 	at java.lang.NumberFormatException.forInputString(Unknown Source)
> 	at java.lang.Long.parseLong(Unknown Source)
> 	at java.lang.Long.parseLong(Unknown Source)
> .....
> ognl.MethodFailedException: Method "setId" failed for object scoweb.app.model.CondicaoPagamento@ed21d3 [java.lang.NoSuchMethodException: setId([Ljava.lang.String;)]
> ....
> expr: proposta.condicaoPagamento.id val: [Ljava.lang.String;@1d1cd0d context: ognl.OgnlContext@99c60f88 root:[scoweb.app.action.PropostaAction@2a590d, com.opensymphony.xwork2.DefaultTextProvider@117ae94] value: [Ljava.lang.String;@1d1cd0d
> 2008-06-07 12:29:30,234 ERROR (com.opensymphony.xwork2.interceptor.ParametersInterceptor:24) - ParametersInterceptor - [setParameters]: Unexpected Exception caught setting 'proposta.condicaoPagamento.id' on 'class scoweb.app.action.PropostaAction: Error setting expression 'proposta.condicaoPagamento.id' with value '[Ljava.lang.String;@1d1cd0d'
> 2008-06-07 12:29:30,515 ERROR (org.apache.struts2.dispatcher.Dispatcher:28) - Could not find action or result
> No result defined for action scoweb.app.action.PropostaAction and result input
> 	at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:357)
> 	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:259)
>                     .............
> The attribute type for Id is set to Long
> private Long Id;
> setId(Long id)...
> Long getId()...
> Behave 3 at Firefox:
> For both cases it's show the same as Behave 2 does.
> I tried to change the attributes from the autocompleter to do like the showcase example, see what happens:
> .jsp
> <s:textfield theme="simple" id="id" name="proposta.id" cssStyle="display:none"/>
> <sx:autocompleter 
>   name="select" 
>   list="{'fruits','colors'}" 
>   value="colors"
>    valueNotifyTopics="/condicaodepagamento"
>    forceValidOption="true" />
> <s:url var="getParcelas" namespace="/proposta" action="gerarParcelas">
> </s:url> 
>   <sx:div id="divParcelas" href="%{#getParcelas}" listenTopics="/condicaodepagamento" formId="formEditar" autoStart="true">
>   </sx:div>
> Behave 1 at IE7 
> The attribute "select" appears as null into the action
> Behave 2 at IE7:
> I changed the "proposta.id" attribute to be set with <input type="hidden"...> instead <s:textfield...>, so when I open my jsp the "select" attribute was right populated.
> Behave 3 at Firefox2.
> In both cases the attribute "select" was filled by the action.
> Now I'm stuck on that and asking for help for you guys.
> NOTE: If just use a <s:select...> component instead <s:autocompleter...> to select the "proposta.condicaoPagamento.id" and ignoring the <s:div...> thing, it just work as should. 
> Thanks and regards,
> Wilson M. Penha Jr. 

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


[jira] Updated: (WW-2672) Autocomplenter don't submit the attribute value to the url action when use valueNotifyTopics.

Posted by "Don Brown (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/struts/browse/WW-2672?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Don Brown updated WW-2672:
--------------------------

         Priority: Major  (was: Critical)
    Fix Version/s: 2.1.3

> Autocomplenter don't submit the attribute value to the url action when use valueNotifyTopics.
> ---------------------------------------------------------------------------------------------
>
>                 Key: WW-2672
>                 URL: https://issues.apache.org/struts/browse/WW-2672
>             Project: Struts 2
>          Issue Type: Bug
>          Components: Core Actions, Core Interceptors, Plugin - Dojo Tags
>    Affects Versions: 2.1.0, 2.1.1, 2.1.2
>         Environment: Windows Server 2003, JDK1.5.0.11, Tomcat5.5.25, IE 7 & Firefox2
>            Reporter: Wilson M Penha Jr.
>             Fix For: 2.1.3
>
>
> I got three days running on this issue, and now I could identify what happens and when, but I could not say why?
> I'm doing one app with Struts2.1.x, Spring2.5.x, Hibernate3.
> I've been trying to run a autocompleter with valueNotifyTopics to another component such as <s:div and/or <s:autocompleter.
> See my code:
> .jsp
> <form id="formEditar">
> <s:textfield theme="simple" id="id" name="proposta.id" cssStyle="display:none"/>
> <sx:autocompleter 
>    id="condicaoPagamentoId" name="proposta.condicaoPagamento.id" 
>    list="condicaoPagamentoList" keyName="proposta.condicaoPagamento.id" listKey="id"
>    listValue="descricao"
>    valueNotifyTopics="/condicaodepagamento"
>    forceValidOption="true" />
> <s:url var="getParcelas" namespace="/proposta" action="gerarParcelas">
> </s:url> 
>   <sx:div id="divParcelas" href="%{#getParcelas}" listenTopics="/condicaodepagamento" formId="formEditar" autoStart="true">
>   </sx:div>
> </form>
> struts.xml
> <package name="proposta" extends="struts2" namespace="/proposta">
> <action name="gerarParcelas" class="propostaAction" method="gerarParcelas">
> 	<interceptor-ref name="defaultStack">
> 	<param name="validation.excludeMethods">gerarParcelas</param>
> 	</interceptor-ref>
> 	<result>/WEB-INF/jsp/proposta/parcelas.jsp</result>
> </action>
> </package>
> Behave 1 at IE7:
> When I open my jsp it isn't sending the value for "proposta.condicaoPagamento.id" to my action, it appears as null, causing an error.
> Behave 2 at IE7:
> I changed the "proposta.id" attribute to be set with <input type="hidden"...> instead <s:textfield...>, so when I open my jsp I got another exception before it reach the action, is was: 
> java.lang.NumberFormatException: For input string: "[Ljava.lang.String;@1d1cd0d"
> 	at java.lang.NumberFormatException.forInputString(Unknown Source)
> 	at java.lang.Long.parseLong(Unknown Source)
> 	at java.lang.Long.parseLong(Unknown Source)
> .....
> ognl.MethodFailedException: Method "setId" failed for object scoweb.app.model.CondicaoPagamento@ed21d3 [java.lang.NoSuchMethodException: setId([Ljava.lang.String;)]
> ....
> expr: proposta.condicaoPagamento.id val: [Ljava.lang.String;@1d1cd0d context: ognl.OgnlContext@99c60f88 root:[scoweb.app.action.PropostaAction@2a590d, com.opensymphony.xwork2.DefaultTextProvider@117ae94] value: [Ljava.lang.String;@1d1cd0d
> 2008-06-07 12:29:30,234 ERROR (com.opensymphony.xwork2.interceptor.ParametersInterceptor:24) - ParametersInterceptor - [setParameters]: Unexpected Exception caught setting 'proposta.condicaoPagamento.id' on 'class scoweb.app.action.PropostaAction: Error setting expression 'proposta.condicaoPagamento.id' with value '[Ljava.lang.String;@1d1cd0d'
> 2008-06-07 12:29:30,515 ERROR (org.apache.struts2.dispatcher.Dispatcher:28) - Could not find action or result
> No result defined for action scoweb.app.action.PropostaAction and result input
> 	at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:357)
> 	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:259)
>                     .............
> The attribute type for Id is set to Long
> private Long Id;
> setId(Long id)...
> Long getId()...
> Behave 3 at Firefox:
> For both cases it's show the same as Behave 2 does.
> I tried to change the attributes from the autocompleter to do like the showcase example, see what happens:
> .jsp
> <s:textfield theme="simple" id="id" name="proposta.id" cssStyle="display:none"/>
> <sx:autocompleter 
>   name="select" 
>   list="{'fruits','colors'}" 
>   value="colors"
>    valueNotifyTopics="/condicaodepagamento"
>    forceValidOption="true" />
> <s:url var="getParcelas" namespace="/proposta" action="gerarParcelas">
> </s:url> 
>   <sx:div id="divParcelas" href="%{#getParcelas}" listenTopics="/condicaodepagamento" formId="formEditar" autoStart="true">
>   </sx:div>
> Behave 1 at IE7 
> The attribute "select" appears as null into the action
> Behave 2 at IE7:
> I changed the "proposta.id" attribute to be set with <input type="hidden"...> instead <s:textfield...>, so when I open my jsp the "select" attribute was right populated.
> Behave 3 at Firefox2.
> In both cases the attribute "select" was filled by the action.
> Now I'm stuck on that and asking for help for you guys.
> NOTE: If just use a <s:select...> component instead <s:autocompleter...> to select the "proposta.condicaoPagamento.id" and ignoring the <s:div...> thing, it just work as should. 
> Thanks and regards,
> Wilson M. Penha Jr. 

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


[jira] Updated: (WW-2672) Autocompleter don't submit the attribute value to the url action when use valueNotifyTopics.

Posted by "Anonymous (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/struts/browse/WW-2672?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]


    Resolution: Cannot Reproduce  (was: Won't Fix)
        Status: Resolved  (was: Closed)

> Autocompleter don't submit the attribute value to the url action when use valueNotifyTopics.
> --------------------------------------------------------------------------------------------
>
>                 Key: WW-2672
>                 URL: https://issues.apache.org/struts/browse/WW-2672
>             Project: Struts 2
>          Issue Type: Bug
>          Components: Plugin - Dojo Tags
>    Affects Versions: 2.1.0, 2.1.1, 2.1.2
>         Environment: Windows Server 2003, JDK1.5.0.11, Tomcat5.5.25, IE 7 & Firefox2
>            Reporter: Wilson M Penha Jr.
>             Fix For: 2.1.3
>
>
> I got three days running on this issue, and now I could identify what happens and when, but I could not say why?
> I'm doing one app with Struts2.1.x, Spring2.5.x, Hibernate3.
> I've been trying to run a autocompleter with valueNotifyTopics to another component such as <s:div and/or <s:autocompleter.
> See my code:
> .jsp
> <form id="formEditar">
> <s:textfield theme="simple" id="id" name="proposta.id" cssStyle="display:none"/>
> <sx:autocompleter 
>    id="condicaoPagamentoId" name="proposta.condicaoPagamento.id" 
>    list="condicaoPagamentoList" keyName="proposta.condicaoPagamento.id" listKey="id"
>    listValue="descricao"
>    valueNotifyTopics="/condicaodepagamento"
>    forceValidOption="true" />
> <s:url var="getParcelas" namespace="/proposta" action="gerarParcelas">
> </s:url> 
>   <sx:div id="divParcelas" href="%{#getParcelas}" listenTopics="/condicaodepagamento" formId="formEditar" autoStart="true">
>   </sx:div>
> </form>
> struts.xml
> <package name="proposta" extends="struts2" namespace="/proposta">
> <action name="gerarParcelas" class="propostaAction" method="gerarParcelas">
> 	<interceptor-ref name="defaultStack">
> 	<param name="validation.excludeMethods">gerarParcelas</param>
> 	</interceptor-ref>
> 	<result>/WEB-INF/jsp/proposta/parcelas.jsp</result>
> </action>
> </package>
> Behave 1 at IE7:
> When I open my jsp it isn't sending the value for "proposta.condicaoPagamento.id" to my action, it appears as null, causing an error.
> Behave 2 at IE7:
> I changed the "proposta.id" attribute to be set with <input type="hidden"...> instead <s:textfield...>, so when I open my jsp I got another exception before it reach the action, is was: 
> java.lang.NumberFormatException: For input string: "[Ljava.lang.String;@1d1cd0d"
> 	at java.lang.NumberFormatException.forInputString(Unknown Source)
> 	at java.lang.Long.parseLong(Unknown Source)
> 	at java.lang.Long.parseLong(Unknown Source)
> .....
> ognl.MethodFailedException: Method "setId" failed for object scoweb.app.model.CondicaoPagamento@ed21d3 [java.lang.NoSuchMethodException: setId([Ljava.lang.String;)]
> ....
> expr: proposta.condicaoPagamento.id val: [Ljava.lang.String;@1d1cd0d context: ognl.OgnlContext@99c60f88 root:[scoweb.app.action.PropostaAction@2a590d, com.opensymphony.xwork2.DefaultTextProvider@117ae94] value: [Ljava.lang.String;@1d1cd0d
> 2008-06-07 12:29:30,234 ERROR (com.opensymphony.xwork2.interceptor.ParametersInterceptor:24) - ParametersInterceptor - [setParameters]: Unexpected Exception caught setting 'proposta.condicaoPagamento.id' on 'class scoweb.app.action.PropostaAction: Error setting expression 'proposta.condicaoPagamento.id' with value '[Ljava.lang.String;@1d1cd0d'
> 2008-06-07 12:29:30,515 ERROR (org.apache.struts2.dispatcher.Dispatcher:28) - Could not find action or result
> No result defined for action scoweb.app.action.PropostaAction and result input
> 	at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:357)
> 	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:259)
>                     .............
> The attribute type for Id is set to Long
> private Long Id;
> setId(Long id)...
> Long getId()...
> Behave 3 at Firefox:
> For both cases it's show the same as Behave 2 does.
> I tried to change the attributes from the autocompleter to do like the showcase example, see what happens:
> .jsp
> <s:textfield theme="simple" id="id" name="proposta.id" cssStyle="display:none"/>
> <sx:autocompleter 
>   name="select" 
>   list="{'fruits','colors'}" 
>   value="colors"
>    valueNotifyTopics="/condicaodepagamento"
>    forceValidOption="true" />
> <s:url var="getParcelas" namespace="/proposta" action="gerarParcelas">
> </s:url> 
>   <sx:div id="divParcelas" href="%{#getParcelas}" listenTopics="/condicaodepagamento" formId="formEditar" autoStart="true">
>   </sx:div>
> Behave 1 at IE7 
> The attribute "select" appears as null into the action
> Behave 2 at IE7:
> I changed the "proposta.id" attribute to be set with <input type="hidden"...> instead <s:textfield...>, so when I open my jsp the "select" attribute was right populated.
> Behave 3 at Firefox2.
> In both cases the attribute "select" was filled by the action.
> Now I'm stuck on that and asking for help for you guys.
> NOTE: If just use a <s:select...> component instead <s:autocompleter...> to select the "proposta.condicaoPagamento.id" and ignoring the <s:div...> thing, it just work as should. 
> Thanks and regards,
> Wilson M. Penha Jr. 

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


[jira] Commented: (WW-2672) Autocomplenter don't submit the attribute value to the url action when use valueNotifyTopics.

Posted by "Wilson M Penha Jr. (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/struts/browse/WW-2672?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=44251#action_44251 ] 

Wilson M Penha Jr. commented on WW-2672:
----------------------------------------

Hi Musachy Barroso,

Let me send you the test case, so you can see it happens with you.

1o. Build a simple Pojo class into "org.apache.struts2.showcase.ajax" package:

package org.apache.struts2.showcase.ajax;

public class Pojo {
	private Long Id;
	public Long getId() {
		return Id;
	}
	public void setId(Long id) {
		Id = id;
	}
}

2o. Than put a pojo attribute into the "org.apache.struts2.showcase.ajax.AutocompleterExampleAction.java";

public class AutocompleterExampleAction extends ActionSupport {
  private String select;
  private List<String> options = new ArrayList<String>();
  private Pojo pojo; // Pojo to reproduce the issue for the AutoCompleter bug.
 :
 :
 :
}

3o. Than from the WebContent/ajax/index.jsp file, put a <s:textfield...> into the "selectForm" form tag, this will work with the colors, fruit example;

Link two autocompleter elements. When the selected value in 'Autocompleter 1' changes, the available values in 'Autocompleter 2' will change also.
<br/>
<form id="selectForm">
<s:textfield theme="simple" id="id" name="pojo.id" cssStyle="display:none"/> <!-- This is for reproduce the issue -->

4o. Than run the server in debug mode, and place a breakpoint into the execute method into the action class;

  public String execute() throws Exception {
    if ("fruits".equals(select)) { // put here a debug breakpoint
      options.add("apple");

5o. Than run rebuild the showcase project and run it in debug mode.
6o. Go the "Ajax plugin for Struts"->"Autocompleter combobox tag ".
       In this very moment the app will hang in the breakpoint, than look at the Variables tabs from Debug perspective and colapse the "this" object,
       you will see the value of the "select" attribute as null, then no matter you try from the Autocompleter 1 field, been a colors or fruits, if you change it
      you will see the same thing into the debug.

That is the issue you need to fix, and it also happens for kind of <sx:autocompleter implementation../> regarding silence submit by <s:url.../>

Conclusion:

I can make it works, but the fix for one thing will produce more issues, see that:

1o. first change the <s:textfield.../> with "pojo.id" to <input type="hidden" name="pojo.id"> into the index.jsp, than put the  @SkipValidation anotation right above the execute method from the action class "AutocompleterExampleAction", build the project and run it again. You will able to see it working, however this kind of fix, can build others issue for not doing the validation.

Think about it, now you have what you ask, and I think it is very enough to fix the bug.

I could done this, but I am very busy with my project and can't go deep into this Dojo stuff.

Thanks and regards.






> Autocomplenter don't submit the attribute value to the url action when use valueNotifyTopics.
> ---------------------------------------------------------------------------------------------
>
>                 Key: WW-2672
>                 URL: https://issues.apache.org/struts/browse/WW-2672
>             Project: Struts 2
>          Issue Type: Bug
>          Components: Plugin - Dojo Tags
>    Affects Versions: 2.1.0, 2.1.1, 2.1.2
>         Environment: Windows Server 2003, JDK1.5.0.11, Tomcat5.5.25, IE 7 & Firefox2
>            Reporter: Wilson M Penha Jr.
>             Fix For: 2.1.3
>
>
> I got three days running on this issue, and now I could identify what happens and when, but I could not say why?
> I'm doing one app with Struts2.1.x, Spring2.5.x, Hibernate3.
> I've been trying to run a autocompleter with valueNotifyTopics to another component such as <s:div and/or <s:autocompleter.
> See my code:
> .jsp
> <form id="formEditar">
> <s:textfield theme="simple" id="id" name="proposta.id" cssStyle="display:none"/>
> <sx:autocompleter 
>    id="condicaoPagamentoId" name="proposta.condicaoPagamento.id" 
>    list="condicaoPagamentoList" keyName="proposta.condicaoPagamento.id" listKey="id"
>    listValue="descricao"
>    valueNotifyTopics="/condicaodepagamento"
>    forceValidOption="true" />
> <s:url var="getParcelas" namespace="/proposta" action="gerarParcelas">
> </s:url> 
>   <sx:div id="divParcelas" href="%{#getParcelas}" listenTopics="/condicaodepagamento" formId="formEditar" autoStart="true">
>   </sx:div>
> </form>
> struts.xml
> <package name="proposta" extends="struts2" namespace="/proposta">
> <action name="gerarParcelas" class="propostaAction" method="gerarParcelas">
> 	<interceptor-ref name="defaultStack">
> 	<param name="validation.excludeMethods">gerarParcelas</param>
> 	</interceptor-ref>
> 	<result>/WEB-INF/jsp/proposta/parcelas.jsp</result>
> </action>
> </package>
> Behave 1 at IE7:
> When I open my jsp it isn't sending the value for "proposta.condicaoPagamento.id" to my action, it appears as null, causing an error.
> Behave 2 at IE7:
> I changed the "proposta.id" attribute to be set with <input type="hidden"...> instead <s:textfield...>, so when I open my jsp I got another exception before it reach the action, is was: 
> java.lang.NumberFormatException: For input string: "[Ljava.lang.String;@1d1cd0d"
> 	at java.lang.NumberFormatException.forInputString(Unknown Source)
> 	at java.lang.Long.parseLong(Unknown Source)
> 	at java.lang.Long.parseLong(Unknown Source)
> .....
> ognl.MethodFailedException: Method "setId" failed for object scoweb.app.model.CondicaoPagamento@ed21d3 [java.lang.NoSuchMethodException: setId([Ljava.lang.String;)]
> ....
> expr: proposta.condicaoPagamento.id val: [Ljava.lang.String;@1d1cd0d context: ognl.OgnlContext@99c60f88 root:[scoweb.app.action.PropostaAction@2a590d, com.opensymphony.xwork2.DefaultTextProvider@117ae94] value: [Ljava.lang.String;@1d1cd0d
> 2008-06-07 12:29:30,234 ERROR (com.opensymphony.xwork2.interceptor.ParametersInterceptor:24) - ParametersInterceptor - [setParameters]: Unexpected Exception caught setting 'proposta.condicaoPagamento.id' on 'class scoweb.app.action.PropostaAction: Error setting expression 'proposta.condicaoPagamento.id' with value '[Ljava.lang.String;@1d1cd0d'
> 2008-06-07 12:29:30,515 ERROR (org.apache.struts2.dispatcher.Dispatcher:28) - Could not find action or result
> No result defined for action scoweb.app.action.PropostaAction and result input
> 	at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:357)
> 	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:259)
>                     .............
> The attribute type for Id is set to Long
> private Long Id;
> setId(Long id)...
> Long getId()...
> Behave 3 at Firefox:
> For both cases it's show the same as Behave 2 does.
> I tried to change the attributes from the autocompleter to do like the showcase example, see what happens:
> .jsp
> <s:textfield theme="simple" id="id" name="proposta.id" cssStyle="display:none"/>
> <sx:autocompleter 
>   name="select" 
>   list="{'fruits','colors'}" 
>   value="colors"
>    valueNotifyTopics="/condicaodepagamento"
>    forceValidOption="true" />
> <s:url var="getParcelas" namespace="/proposta" action="gerarParcelas">
> </s:url> 
>   <sx:div id="divParcelas" href="%{#getParcelas}" listenTopics="/condicaodepagamento" formId="formEditar" autoStart="true">
>   </sx:div>
> Behave 1 at IE7 
> The attribute "select" appears as null into the action
> Behave 2 at IE7:
> I changed the "proposta.id" attribute to be set with <input type="hidden"...> instead <s:textfield...>, so when I open my jsp the "select" attribute was right populated.
> Behave 3 at Firefox2.
> In both cases the attribute "select" was filled by the action.
> Now I'm stuck on that and asking for help for you guys.
> NOTE: If just use a <s:select...> component instead <s:autocompleter...> to select the "proposta.condicaoPagamento.id" and ignoring the <s:div...> thing, it just work as should. 
> Thanks and regards,
> Wilson M. Penha Jr. 

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


[jira] Updated: (WW-2672) Autocomplenter don't submit the attribute value to the url action when use valueNotifyTopics.

Posted by "Wilson M Penha Jr. (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/struts/browse/WW-2672?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Wilson M Penha Jr. updated WW-2672:
-----------------------------------

    Description: 
I got three days running on this issue, and now I could identify what happens and when, but I could not say why?

I'm doing one app with Struts2.1.x, Spring2.5.x, Hibernate3.

I've been trying to run a autocompleter with valueNotifyTopics to another component such as <s:div and/or <s:autocompleter.

See my code:

.jsp

<form id="formEditar">
<s:textfield theme="simple" id="id" name="proposta.id" cssStyle="display:none"/>

<sx:autocompleter 
   id="condicaoPagamentoId" name="proposta.condicaoPagamento.id" 
   list="condicaoPagamentoList" keyName="proposta.condicaoPagamento.id" listKey="id"
   listValue="descricao"
   valueNotifyTopics="/condicaodepagamento"
   forceValidOption="true" />

<s:url var="getParcelas" namespace="/proposta" action="gerarParcelas">
</s:url> 
  <sx:div id="divParcelas" href="%{#getParcelas}" listenTopics="/condicaodepagamento" formId="formEditar" autoStart="true">
  </sx:div>
</form>

struts.xml

<package name="proposta" extends="struts2" namespace="/proposta">
<action name="gerarParcelas" class="propostaAction" method="gerarParcelas">
	<interceptor-ref name="defaultStack">
	<param name="validation.excludeMethods">gerarParcelas</param>
	</interceptor-ref>
	<result>/WEB-INF/jsp/proposta/parcelas.jsp</result>
</action>
</package>

Behave 1 at IE7:
When I open my jsp it isn't sending the value for "proposta.condicaoPagamento.id" to my action, it appears as null, causing an error.

Behave 2 at IE7:
I changed the "proposta.id" attribute to be set with <input type="hidden"...> instead <s:textfield...>, so when I open my jsp I got another exception before it reach the action, is was: 
java.lang.NumberFormatException: For input string: "[Ljava.lang.String;@1d1cd0d"
	at java.lang.NumberFormatException.forInputString(Unknown Source)
	at java.lang.Long.parseLong(Unknown Source)
	at java.lang.Long.parseLong(Unknown Source)
.....
ognl.MethodFailedException: Method "setId" failed for object scoweb.app.model.CondicaoPagamento@ed21d3 [java.lang.NoSuchMethodException: setId([Ljava.lang.String;)]
....
expr: proposta.condicaoPagamento.id val: [Ljava.lang.String;@1d1cd0d context: ognl.OgnlContext@99c60f88 root:[scoweb.app.action.PropostaAction@2a590d, com.opensymphony.xwork2.DefaultTextProvider@117ae94] value: [Ljava.lang.String;@1d1cd0d
2008-06-07 12:29:30,234 ERROR (com.opensymphony.xwork2.interceptor.ParametersInterceptor:24) - ParametersInterceptor - [setParameters]: Unexpected Exception caught setting 'proposta.condicaoPagamento.id' on 'class scoweb.app.action.PropostaAction: Error setting expression 'proposta.condicaoPagamento.id' with value '[Ljava.lang.String;@1d1cd0d'
2008-06-07 12:29:30,515 ERROR (org.apache.struts2.dispatcher.Dispatcher:28) - Could not find action or result
No result defined for action scoweb.app.action.PropostaAction and result input
	at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:357)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:259)
                    .............
The attribute type for Id is set to Long

private Long Id;
setId(Long id)...
Long getId()...

Behave 3 at Firefox:
For both cases it's show the same as Behave 2 does.

I tried to change the attributes from the autocompleter to do like the showcase example, see what happens:
.jsp

<s:textfield theme="simple" id="id" name="proposta.id" cssStyle="display:none"/>

<sx:autocompleter 
  name="select" 
  list="{'fruits','colors'}" 
  value="colors"
   valueNotifyTopics="/condicaodepagamento"
   forceValidOption="true" />

<s:url var="getParcelas" namespace="/proposta" action="gerarParcelas">
</s:url> 
  <sx:div id="divParcelas" href="%{#getParcelas}" listenTopics="/condicaodepagamento" formId="formEditar" autoStart="true">
  </sx:div>

Behave 1 at IE7 

The attribute "select" appears as null into the action

Behave 2 at IE7:
I changed the "proposta.id" attribute to be set with <input type="hidden"...> instead <s:textfield...>, so when I open my jsp the "select" attribute was right populated.

Behave 3 at Firefox2.
In both cases the attribute "select" was filled by the action.

Now I'm stuck on that and asking for help for you guys.

NOTE: If just use a <s:select...> component instead <s:autocompleter...> to select the "proposta.condicaoPagamento.id" and ignoring the <s:div...> thing, it just work as should. 

Thanks and regards,

Wilson M. Penha Jr. 



  was:
I got three days running on this issue, and now I could identify what happens and when, but I could not say why?

I'm doing one app with Struts2.1.x, Spring2.5.x, Hibernate3.

I've been trying to run a autocompleter with valueNotifyTopics to another component such as <s:div and/or <s:autocompleter.

See my code:

.jsp

<s:textfield theme="simple" id="id" name="proposta.id" cssStyle="display:none"/>

<form id="formEditar">
<sx:autocompleter 
   id="condicaoPagamentoId" name="proposta.condicaoPagamento.id" 
   list="condicaoPagamentoList" keyName="proposta.condicaoPagamento.id" listKey="id"
   listValue="descricao"
   valueNotifyTopics="/condicaodepagamento"
   forceValidOption="true" />

<s:url var="getParcelas" namespace="/proposta" action="gerarParcelas">
</s:url> 
  <sx:div id="divParcelas" href="%{#getParcelas}" listenTopics="/condicaodepagamento" formId="formEditar" autoStart="true">
  </sx:div>
</form>

struts.xml

<package name="proposta" extends="struts2" namespace="/proposta">
<action name="gerarParcelas" class="propostaAction" method="gerarParcelas">
	<interceptor-ref name="defaultStack">
	<param name="validation.excludeMethods">gerarParcelas</param>
	</interceptor-ref>
	<result>/WEB-INF/jsp/proposta/parcelas.jsp</result>
</action>
</package>

Behave 1 at IE7:
When I open my jsp it isn't sending the value for "proposta.condicaoPagamento.id" to my action, it appears as null, causing an error.

Behave 2 at IE7:
I changed the "proposta.id" attribute to be set with <input type="hidden"...> instead <s:textfield...>, so when I open my jsp I got another exception before it reach the action, is was: 
java.lang.NumberFormatException: For input string: "[Ljava.lang.String;@1d1cd0d"
	at java.lang.NumberFormatException.forInputString(Unknown Source)
	at java.lang.Long.parseLong(Unknown Source)
	at java.lang.Long.parseLong(Unknown Source)
.....
ognl.MethodFailedException: Method "setId" failed for object scoweb.app.model.CondicaoPagamento@ed21d3 [java.lang.NoSuchMethodException: setId([Ljava.lang.String;)]
....
expr: proposta.condicaoPagamento.id val: [Ljava.lang.String;@1d1cd0d context: ognl.OgnlContext@99c60f88 root:[scoweb.app.action.PropostaAction@2a590d, com.opensymphony.xwork2.DefaultTextProvider@117ae94] value: [Ljava.lang.String;@1d1cd0d
2008-06-07 12:29:30,234 ERROR (com.opensymphony.xwork2.interceptor.ParametersInterceptor:24) - ParametersInterceptor - [setParameters]: Unexpected Exception caught setting 'proposta.condicaoPagamento.id' on 'class scoweb.app.action.PropostaAction: Error setting expression 'proposta.condicaoPagamento.id' with value '[Ljava.lang.String;@1d1cd0d'
2008-06-07 12:29:30,515 ERROR (org.apache.struts2.dispatcher.Dispatcher:28) - Could not find action or result
No result defined for action scoweb.app.action.PropostaAction and result input
	at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:357)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:259)
                    .............
The attribute type for Id is set to Long

private Long Id;
setId(Long id)...
Long getId()...

Behave 3 at Firefox:
For both cases it's show the same as Behave 2 does.

I tried to change the attributes from the autocompleter to do like the showcase example, see what happens:
.jsp

<s:textfield theme="simple" id="id" name="proposta.id" cssStyle="display:none"/>

<sx:autocompleter 
  name="select" 
  list="{'fruits','colors'}" 
  value="colors"
   valueNotifyTopics="/condicaodepagamento"
   forceValidOption="true" />

<s:url var="getParcelas" namespace="/proposta" action="gerarParcelas">
</s:url> 
  <sx:div id="divParcelas" href="%{#getParcelas}" listenTopics="/condicaodepagamento" formId="formEditar" autoStart="true">
  </sx:div>

Behave 1 at IE7 

The attribute "select" appears as null into the action

Behave 2 at IE7:
I changed the "proposta.id" attribute to be set with <input type="hidden"...> instead <s:textfield...>, so when I open my jsp the "select" attribute was right populated.

Behave 3 at Firefox2.
In both cases the attribute "select" was filled by the action.

Now I'm stuck on that and asking for help for you guys.

NOTE: If just use a <s:select...> component instead <s:autocompleter...> to select the "proposta.condicaoPagamento.id" and ignoring the <s:div...> thing, it just work as should. 

Thanks and regards,

Wilson M. Penha Jr. 




> Autocomplenter don't submit the attribute value to the url action when use valueNotifyTopics.
> ---------------------------------------------------------------------------------------------
>
>                 Key: WW-2672
>                 URL: https://issues.apache.org/struts/browse/WW-2672
>             Project: Struts 2
>          Issue Type: Bug
>          Components: Core Actions, Core Interceptors, Plugin - Dojo Tags
>    Affects Versions: 2.1.0, 2.1.1, 2.1.2
>         Environment: Windows Server 2003, JDK1.5.0.11, Tomcat5.5.25, IE 7 & Firefox2
>            Reporter: Wilson M Penha Jr.
>            Priority: Critical
>
> I got three days running on this issue, and now I could identify what happens and when, but I could not say why?
> I'm doing one app with Struts2.1.x, Spring2.5.x, Hibernate3.
> I've been trying to run a autocompleter with valueNotifyTopics to another component such as <s:div and/or <s:autocompleter.
> See my code:
> .jsp
> <form id="formEditar">
> <s:textfield theme="simple" id="id" name="proposta.id" cssStyle="display:none"/>
> <sx:autocompleter 
>    id="condicaoPagamentoId" name="proposta.condicaoPagamento.id" 
>    list="condicaoPagamentoList" keyName="proposta.condicaoPagamento.id" listKey="id"
>    listValue="descricao"
>    valueNotifyTopics="/condicaodepagamento"
>    forceValidOption="true" />
> <s:url var="getParcelas" namespace="/proposta" action="gerarParcelas">
> </s:url> 
>   <sx:div id="divParcelas" href="%{#getParcelas}" listenTopics="/condicaodepagamento" formId="formEditar" autoStart="true">
>   </sx:div>
> </form>
> struts.xml
> <package name="proposta" extends="struts2" namespace="/proposta">
> <action name="gerarParcelas" class="propostaAction" method="gerarParcelas">
> 	<interceptor-ref name="defaultStack">
> 	<param name="validation.excludeMethods">gerarParcelas</param>
> 	</interceptor-ref>
> 	<result>/WEB-INF/jsp/proposta/parcelas.jsp</result>
> </action>
> </package>
> Behave 1 at IE7:
> When I open my jsp it isn't sending the value for "proposta.condicaoPagamento.id" to my action, it appears as null, causing an error.
> Behave 2 at IE7:
> I changed the "proposta.id" attribute to be set with <input type="hidden"...> instead <s:textfield...>, so when I open my jsp I got another exception before it reach the action, is was: 
> java.lang.NumberFormatException: For input string: "[Ljava.lang.String;@1d1cd0d"
> 	at java.lang.NumberFormatException.forInputString(Unknown Source)
> 	at java.lang.Long.parseLong(Unknown Source)
> 	at java.lang.Long.parseLong(Unknown Source)
> .....
> ognl.MethodFailedException: Method "setId" failed for object scoweb.app.model.CondicaoPagamento@ed21d3 [java.lang.NoSuchMethodException: setId([Ljava.lang.String;)]
> ....
> expr: proposta.condicaoPagamento.id val: [Ljava.lang.String;@1d1cd0d context: ognl.OgnlContext@99c60f88 root:[scoweb.app.action.PropostaAction@2a590d, com.opensymphony.xwork2.DefaultTextProvider@117ae94] value: [Ljava.lang.String;@1d1cd0d
> 2008-06-07 12:29:30,234 ERROR (com.opensymphony.xwork2.interceptor.ParametersInterceptor:24) - ParametersInterceptor - [setParameters]: Unexpected Exception caught setting 'proposta.condicaoPagamento.id' on 'class scoweb.app.action.PropostaAction: Error setting expression 'proposta.condicaoPagamento.id' with value '[Ljava.lang.String;@1d1cd0d'
> 2008-06-07 12:29:30,515 ERROR (org.apache.struts2.dispatcher.Dispatcher:28) - Could not find action or result
> No result defined for action scoweb.app.action.PropostaAction and result input
> 	at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:357)
> 	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:259)
>                     .............
> The attribute type for Id is set to Long
> private Long Id;
> setId(Long id)...
> Long getId()...
> Behave 3 at Firefox:
> For both cases it's show the same as Behave 2 does.
> I tried to change the attributes from the autocompleter to do like the showcase example, see what happens:
> .jsp
> <s:textfield theme="simple" id="id" name="proposta.id" cssStyle="display:none"/>
> <sx:autocompleter 
>   name="select" 
>   list="{'fruits','colors'}" 
>   value="colors"
>    valueNotifyTopics="/condicaodepagamento"
>    forceValidOption="true" />
> <s:url var="getParcelas" namespace="/proposta" action="gerarParcelas">
> </s:url> 
>   <sx:div id="divParcelas" href="%{#getParcelas}" listenTopics="/condicaodepagamento" formId="formEditar" autoStart="true">
>   </sx:div>
> Behave 1 at IE7 
> The attribute "select" appears as null into the action
> Behave 2 at IE7:
> I changed the "proposta.id" attribute to be set with <input type="hidden"...> instead <s:textfield...>, so when I open my jsp the "select" attribute was right populated.
> Behave 3 at Firefox2.
> In both cases the attribute "select" was filled by the action.
> Now I'm stuck on that and asking for help for you guys.
> NOTE: If just use a <s:select...> component instead <s:autocompleter...> to select the "proposta.condicaoPagamento.id" and ignoring the <s:div...> thing, it just work as should. 
> Thanks and regards,
> Wilson M. Penha Jr. 

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