Re: wierd stack trace regarding parsing of struts.xml
2012/12/1 ChadDavis chadmichaelda...@gmail.com: Thanks Lukasz. This is very useful information. I think this clearly fixes my problem, but I still have some questions. 1) when was xwork moved to ASF? Just before 2.2.1, two years ago, but DTDs where changed sometime later http://struts.apache.org/2.x/docs/version-notes-221.html 2) It's not really Struts 2 doing the look up right? It's the sax parser? Is Struts2 using the EntityResolver to add the resolution logic that converts the DOCTYPE tag to a classpath resource lookup? If you don't know of the top of your head, I plan to dive into the code myself anyhow. Yes, but you can tell the parser where the DTDs are, so it can read them locally before looking for them over the internet. See XmlConfigurationProvider for more details. Example: mappings.put(-//Apache Struts//XWork 2.3//EN, xwork-2.3.dtd); mappings.put(-//Apache Struts//XWork 2.1.3//EN, xwork-2.1.3.dtd); mappings.put(-//Apache Struts//XWork 2.1//EN, xwork-2.1.dtd); mappings.put(-//Apache Struts//XWork 2.0//EN, xwork-2.0.dtd); mappings.put(-//Apache Struts//XWork 1.1.1//EN, xwork-1.1.1.dtd); mappings.put(-//Apache Struts//XWork 1.1//EN, xwork-1.1.dtd); mappings.put(-//Apache Struts//XWork 1.0//EN, xwork-1.0.dtd); Regards -- Łukasz + 48 606 323 122 http://www.lenart.org.pl/ - To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org
Prototype beans
We are defining struts action classes in spring as prototype bean, in this while editing a particular bean a new object is being inserted, I can imagine this would be because of prototype nature of beans. How can we achieve edit with prototype beans? Regards, Rohit
RE: Prototype beans
Are you using annotations or xml approach to work with struts? And have you checked what happens when you don't define your struts actions as prototype? -Puneet -Original Message- From: rohit [mailto:ro...@in-rev.com] Sent: Monday, December 03, 2012 2:13 PM To: user@struts.apache.org Subject: Prototype beans We are defining struts action classes in spring as prototype bean, in this while editing a particular bean a new object is being inserted, I can imagine this would be because of prototype nature of beans. How can we achieve edit with prototype beans? Regards, Rohit
Re: Prototype beans
Not sure if i am able to understand your question Can you clarify what you mean by *How can we achieve edit with prototype beans* In particular *edit* On Mon, Dec 3, 2012 at 2:49 PM, Puneet Babbar 2 pbabb...@sapient.comwrote: Are you using annotations or xml approach to work with struts? And have you checked what happens when you don't define your struts actions as prototype? -Puneet -Original Message- From: rohit [mailto:ro...@in-rev.com] Sent: Monday, December 03, 2012 2:13 PM To: user@struts.apache.org Subject: Prototype beans We are defining struts action classes in spring as prototype bean, in this while editing a particular bean a new object is being inserted, I can imagine this would be because of prototype nature of beans. How can we achieve edit with prototype beans? Regards, Rohit -- With Regards Umesh Awasthi http://www.travellingrants.com/
Re: Prototype beans
I am using XML approach, it works fine when the type is not prototype, understandable so since the same instance is used across requests. On 03/12/12 2:49 PM, Puneet Babbar 2 pbabb...@sapient.com wrote: Are you using annotations or xml approach to work with struts? And have you checked what happens when you don't define your struts actions as prototype? -Puneet -Original Message- From: rohit [mailto:ro...@in-rev.com] Sent: Monday, December 03, 2012 2:13 PM To: user@struts.apache.org Subject: Prototype beans We are defining struts action classes in spring as prototype bean, in this while editing a particular bean a new object is being inserted, I can imagine this would be because of prototype nature of beans. How can we achieve edit with prototype beans? Regards, Rohit - 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
Re: Prototype beans
2012/12/3 Rohit Gupta ro...@simplify360.com: I am using XML approach, it works fine when the type is not prototype, understandable so since the same instance is used across requests. As I understand you have been using session scoped actions or even singletons - and edit worked because the instance was there all the time (in session bean). But thus is wrong :-) You must load instance from backend on each request - load, apply changes from a form, save. Regards -- Łukasz + 48 606 323 122 http://www.lenart.org.pl/ - To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org
Re: wierd stack trace regarding parsing of struts.xml
Thanks! On Mon, Dec 3, 2012 at 1:20 AM, Lukasz Lenart lukaszlen...@apache.orgwrote: 2012/12/1 ChadDavis chadmichaelda...@gmail.com: Thanks Lukasz. This is very useful information. I think this clearly fixes my problem, but I still have some questions. 1) when was xwork moved to ASF? Just before 2.2.1, two years ago, but DTDs where changed sometime later http://struts.apache.org/2.x/docs/version-notes-221.html 2) It's not really Struts 2 doing the look up right? It's the sax parser? Is Struts2 using the EntityResolver to add the resolution logic that converts the DOCTYPE tag to a classpath resource lookup? If you don't know of the top of your head, I plan to dive into the code myself anyhow. Yes, but you can tell the parser where the DTDs are, so it can read them locally before looking for them over the internet. See XmlConfigurationProvider for more details. Example: mappings.put(-//Apache Struts//XWork 2.3//EN, xwork-2.3.dtd); mappings.put(-//Apache Struts//XWork 2.1.3//EN, xwork-2.1.3.dtd); mappings.put(-//Apache Struts//XWork 2.1//EN, xwork-2.1.dtd); mappings.put(-//Apache Struts//XWork 2.0//EN, xwork-2.0.dtd); mappings.put(-//Apache Struts//XWork 1.1.1//EN, xwork-1.1.1.dtd); mappings.put(-//Apache Struts//XWork 1.1//EN, xwork-1.1.dtd); mappings.put(-//Apache Struts//XWork 1.0//EN, xwork-1.0.dtd); Regards -- Łukasz + 48 606 323 122 http://www.lenart.org.pl/ - To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org
Extending base class and accessing implementation's fields in Struts 2
I have ListBaseObject foo The list is of type BaseObjectImpl BaseObject has fields: String a String b BaseObjectImpl has fields: String c String d Now I'm in a JSP and want to iterate foo (using s:iterator), accessing fields c and d (inside iterator using s:property, for example). How? As far as Struts knows I'm dealing with BaseObject. Is there a way for me to cast to BaseObjectImpl without creating a StrutsTypeConverter for every object I'm extending? In my use case, there will be several and the temptation is to just define the list with the implementation which foils reusability patterns (e.g., ListBaseObjectImpl). Likewise, what to do when posting back to a field like this: BaseObject bar (which has BaseObjectImpl as its implementation) e.g., s:textfield name=bar.c / Is there a totally different approach that would be better or is StrutsTypeConverter the only good answer? - Eric
Re: Extending base class and accessing implementation's fields in Struts 2
You're making OGNL calls against an object; it doesn't care about the type--if you access foo.bar it'll call getBar() on foo, setBar() on submission. Dave On Mon, Dec 3, 2012 at 11:19 AM, Eric Lentz ericle...@outfastsource.com wrote: I have ListBaseObject foo The list is of type BaseObjectImpl BaseObject has fields: String a String b BaseObjectImpl has fields: String c String d Now I'm in a JSP and want to iterate foo (using s:iterator), accessing fields c and d (inside iterator using s:property, for example). How? As far as Struts knows I'm dealing with BaseObject. Is there a way for me to cast to BaseObjectImpl without creating a StrutsTypeConverter for every object I'm extending? In my use case, there will be several and the temptation is to just define the list with the implementation which foils reusability patterns (e.g., ListBaseObjectImpl). Likewise, what to do when posting back to a field like this: BaseObject bar (which has BaseObjectImpl as its implementation) e.g., s:textfield name=bar.c / Is there a totally different approach that would be better or is StrutsTypeConverter the only good answer? - Eric -- e: davelnew...@gmail.com m: 908-380-8699 s: davelnewton_skype t: @dave_newton b: Bucky Bits g: davelnewton so: Dave Newton - To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org
Re: Extending base class and accessing implementation's fields in Struts 2
I'm almost there. I didn't suspect that it would work that way with the iterator. Should have tried it first! Thanks Dave. On the way back, such as in a post, if BaseObject is an interface or abstract, as I'm hoping for it to be, then Struts tries to instantiate the BaseObject type, which it can't, so it throws: [com.opensymphony.xwork2.conversion.impl.InstantiatingNullHandler] Could not create and/or set value back on to object java.lang.InstantiationException at sun.reflect.InstantiationExceptionConstructorAccessorImpl.newInstance(InstantiationExceptionConstructorAccessorImpl.java:30) at java.lang.reflect.Constructor.newInstance(Constructor.java:501) at java.lang.Class.newInstance0(Class.java:350) at java.lang.Class.newInstance(Class.java:303) at com.opensymphony.xwork2.ObjectFactory.buildBean(ObjectFactory.java:130) at com.opensymphony.xwork2.conversion.impl.InstantiatingNullHandler.createObject(InstantiatingNullHandler.java:159) at com.opensymphony.xwork2.conversion.impl.InstantiatingNullHandler.nullPropertyValue(InstantiatingNullHandler.java:137) at com.opensymphony.xwork2.ognl.OgnlNullHandlerWrapper.nullPropertyValue(OgnlNullHandlerWrapper.java:21) at ognl.ASTProperty.getValueBody(ASTProperty.java:118) ...etc. Any ideas on solving that? - Eric On Mon, Dec 3, 2012 at 11:19 AM, Eric Lentz ericle...@outfastsource.comwrote: I have ListBaseObject foo The list is of type BaseObjectImpl BaseObject has fields: String a String b BaseObjectImpl has fields: String c String d Now I'm in a JSP and want to iterate foo (using s:iterator), accessing fields c and d (inside iterator using s:property, for example). How? As far as Struts knows I'm dealing with BaseObject. Is there a way for me to cast to BaseObjectImpl without creating a StrutsTypeConverter for every object I'm extending? In my use case, there will be several and the temptation is to just define the list with the implementation which foils reusability patterns (e.g., ListBaseObjectImpl). Likewise, what to do when posting back to a field like this: BaseObject bar (which has BaseObjectImpl as its implementation) e.g., s:textfield name=bar.c / Is there a totally different approach that would be better or is StrutsTypeConverter the only good answer? - Eric
Re: Struts2 Rest Plugin
2012/11/30 Davis, Chad chad.da...@emc.com: I think, the basic idea was to allow cooperate the REST plugin with the Convention plugin and code behind is a deprecated plugin that will be discarded soon (with 3.x) 1) So, it doesn't depend on it, in any technical sense? Yes 2) But it's made to work with the convention plugin, if that plugin is also installed? Yes, but using Convention plugin with REST is the preferred way. Regards -- Łukasz + 48 606 323 122 http://www.lenart.org.pl/ - To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org
Re: wierd stack trace regarding parsing of struts.xml
So, it seems like this should be added to the wiki on the webworks to struts 2 migration page . . . I'm more than willing to do provide the text. what do you think? On Mon, Dec 3, 2012 at 1:20 AM, Lukasz Lenart lukaszlen...@apache.orgwrote: 2012/12/1 ChadDavis chadmichaelda...@gmail.com: Thanks Lukasz. This is very useful information. I think this clearly fixes my problem, but I still have some questions. 1) when was xwork moved to ASF? Just before 2.2.1, two years ago, but DTDs where changed sometime later http://struts.apache.org/2.x/docs/version-notes-221.html 2) It's not really Struts 2 doing the look up right? It's the sax parser? Is Struts2 using the EntityResolver to add the resolution logic that converts the DOCTYPE tag to a classpath resource lookup? If you don't know of the top of your head, I plan to dive into the code myself anyhow. Yes, but you can tell the parser where the DTDs are, so it can read them locally before looking for them over the internet. See XmlConfigurationProvider for more details. Example: mappings.put(-//Apache Struts//XWork 2.3//EN, xwork-2.3.dtd); mappings.put(-//Apache Struts//XWork 2.1.3//EN, xwork-2.1.3.dtd); mappings.put(-//Apache Struts//XWork 2.1//EN, xwork-2.1.dtd); mappings.put(-//Apache Struts//XWork 2.0//EN, xwork-2.0.dtd); mappings.put(-//Apache Struts//XWork 1.1.1//EN, xwork-1.1.1.dtd); mappings.put(-//Apache Struts//XWork 1.1//EN, xwork-1.1.dtd); mappings.put(-//Apache Struts//XWork 1.0//EN, xwork-1.0.dtd); Regards -- Łukasz + 48 606 323 122 http://www.lenart.org.pl/ - To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org
Re: Extending base class and accessing implementation's fields in Struts 2
2012/12/3 Eric Lentz ericle...@outfastsource.com: I'm almost there. I didn't suspect that it would work that way with the iterator. Should have tried it first! Thanks Dave. On the way back, such as in a post, if BaseObject is an interface or abstract, as I'm hoping for it to be, then Struts tries to instantiate the BaseObject type, which it can't, so it throws: [com.opensymphony.xwork2.conversion.impl.InstantiatingNullHandler] Could not create and/or set value back on to object java.lang.InstantiationException at sun.reflect.InstantiationExceptionConstructorAccessorImpl.newInstance(InstantiationExceptionConstructorAccessorImpl.java:30) at java.lang.reflect.Constructor.newInstance(Constructor.java:501) at java.lang.Class.newInstance0(Class.java:350) at java.lang.Class.newInstance(Class.java:303) at com.opensymphony.xwork2.ObjectFactory.buildBean(ObjectFactory.java:130) at com.opensymphony.xwork2.conversion.impl.InstantiatingNullHandler.createObject(InstantiatingNullHandler.java:159) at com.opensymphony.xwork2.conversion.impl.InstantiatingNullHandler.nullPropertyValue(InstantiatingNullHandler.java:137) at com.opensymphony.xwork2.ognl.OgnlNullHandlerWrapper.nullPropertyValue(OgnlNullHandlerWrapper.java:21) at ognl.ASTProperty.getValueBody(ASTProperty.java:118) ...etc. Any ideas on solving that? You can implement your own ObjectTypeDeterminer or you can try to play with @Element Regards -- Łukasz + 48 606 323 122 http://www.lenart.org.pl/ - To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org
Re: wierd stack trace regarding parsing of struts.xml
2012/12/3 ChadDavis chadmichaelda...@gmail.com: So, it seems like this should be added to the wiki on the webworks to struts 2 migration page . . . I'm more than willing to do provide the text. what do you think? I'm happy to hear that, I've posted how to get contributor rights to docs Regards -- Łukasz + 48 606 323 122 http://www.lenart.org.pl/ - To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org
Re: Inconsistency in Struts2 s:component parameters handling
2012/11/30 Thim Anneessens t.anneess...@ictjob.be We are using Struts 2.3.1.2 and have noticed a strange behavior in component parameter handling: We have a component that uses both an id parameter and a title parameter. What is strange is that when we use s:component, the title parameter value can either be specified using the title attribute of s:component or a s:param. The id parameter value can only be specified using the id attribute of s:component. Using the s:param for id has no effect. There seems to be no pertinent explanation for this behavior in the documentation and I was wondering if this behavior would evolve in further versions. We are currently using s:param to specify our numerous title parameters and hope that it will always be possible in the future. Could anyone shed some light on this inconsistent behavior? It's a bit strange, it should also work the same way :\ Could you prepare a sample app ? Maven based ? Regards -- Łukasz + 48 606 323 122 http://www.lenart.org.pl/ - To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org
Re: wierd stack trace regarding parsing of struts.xml
Why aren't there mappings for the struts-xxx.dtd's? On Mon, Dec 3, 2012 at 1:20 AM, Lukasz Lenart lukaszlen...@apache.orgwrote: 2012/12/1 ChadDavis chadmichaelda...@gmail.com: Thanks Lukasz. This is very useful information. I think this clearly fixes my problem, but I still have some questions. 1) when was xwork moved to ASF? Just before 2.2.1, two years ago, but DTDs where changed sometime later http://struts.apache.org/2.x/docs/version-notes-221.html 2) It's not really Struts 2 doing the look up right? It's the sax parser? Is Struts2 using the EntityResolver to add the resolution logic that converts the DOCTYPE tag to a classpath resource lookup? If you don't know of the top of your head, I plan to dive into the code myself anyhow. Yes, but you can tell the parser where the DTDs are, so it can read them locally before looking for them over the internet. See XmlConfigurationProvider for more details. Example: mappings.put(-//Apache Struts//XWork 2.3//EN, xwork-2.3.dtd); mappings.put(-//Apache Struts//XWork 2.1.3//EN, xwork-2.1.3.dtd); mappings.put(-//Apache Struts//XWork 2.1//EN, xwork-2.1.dtd); mappings.put(-//Apache Struts//XWork 2.0//EN, xwork-2.0.dtd); mappings.put(-//Apache Struts//XWork 1.1.1//EN, xwork-1.1.1.dtd); mappings.put(-//Apache Struts//XWork 1.1//EN, xwork-1.1.dtd); mappings.put(-//Apache Struts//XWork 1.0//EN, xwork-1.0.dtd); Regards -- Łukasz + 48 606 323 122 http://www.lenart.org.pl/ - To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org
Re: wierd stack trace regarding parsing of struts.xml
There are (from 2.3): 79:dtdMappings.put(-//Apache Software Foundation//DTD Struts Configuration 2.0//EN, struts-2.0.dtd); 80:dtdMappings.put(-//Apache Software Foundation//DTD Struts Configuration 2.1//EN, struts-2.1.dtd); 81:dtdMappings.put(-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN, struts-2.1.7.dtd); 82:dtdMappings.put(-//Apache Software Foundation//DTD Struts Configuration 2.3//EN, struts-2.3.dtd); On Mon, Dec 3, 2012 at 4:25 PM, ChadDavis chadmichaelda...@gmail.com wrote: Why aren't there mappings for the struts-xxx.dtd's? On Mon, Dec 3, 2012 at 1:20 AM, Lukasz Lenart lukaszlen...@apache.orgwrote: 2012/12/1 ChadDavis chadmichaelda...@gmail.com: Thanks Lukasz. This is very useful information. I think this clearly fixes my problem, but I still have some questions. 1) when was xwork moved to ASF? Just before 2.2.1, two years ago, but DTDs where changed sometime later http://struts.apache.org/2.x/docs/version-notes-221.html 2) It's not really Struts 2 doing the look up right? It's the sax parser? Is Struts2 using the EntityResolver to add the resolution logic that converts the DOCTYPE tag to a classpath resource lookup? If you don't know of the top of your head, I plan to dive into the code myself anyhow. Yes, but you can tell the parser where the DTDs are, so it can read them locally before looking for them over the internet. See XmlConfigurationProvider for more details. Example: mappings.put(-//Apache Struts//XWork 2.3//EN, xwork-2.3.dtd); mappings.put(-//Apache Struts//XWork 2.1.3//EN, xwork-2.1.3.dtd); mappings.put(-//Apache Struts//XWork 2.1//EN, xwork-2.1.dtd); mappings.put(-//Apache Struts//XWork 2.0//EN, xwork-2.0.dtd); mappings.put(-//Apache Struts//XWork 1.1.1//EN, xwork-1.1.1.dtd); mappings.put(-//Apache Struts//XWork 1.1//EN, xwork-1.1.dtd); mappings.put(-//Apache Struts//XWork 1.0//EN, xwork-1.0.dtd); Regards -- Łukasz + 48 606 323 122 http://www.lenart.org.pl/ - To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org -- e: davelnew...@gmail.com m: 908-380-8699 s: davelnewton_skype t: @dave_newton b: Bucky Bits g: davelnewton so: Dave Newton - To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org
Re: wierd stack trace regarding parsing of struts.xml
There are (from 2.3): 79:dtdMappings.put(-//Apache Software Foundation//DTD Struts Configuration 2.0//EN, struts-2.0.dtd); 80:dtdMappings.put(-//Apache Software Foundation//DTD Struts Configuration 2.1//EN, struts-2.1.dtd); 81:dtdMappings.put(-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN, struts-2.1.7.dtd); 82:dtdMappings.put(-//Apache Software Foundation//DTD Struts Configuration 2.3//EN, struts-2.3.dtd); Oh, I wasn't looking at the Struts2XmlConfigurationProvider; I was looking at the XmlConfigurationProvider . . .
Re: wierd stack trace regarding parsing of struts.xml
2012/12/3 ChadDavis chadmichaelda...@gmail.com: I'm happy to hear that, I've posted how to get contributor rights to docs Posted where? http://markmail.org/message/4way2m5y2vlwkrih :-) Regards -- Łukasz + 48 606 323 122 http://www.lenart.org.pl/ - To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org
Re: wierd stack trace regarding parsing of struts.xml
2012/12/3 ChadDavis chadmichaelda...@gmail.com: There are (from 2.3): 79:dtdMappings.put(-//Apache Software Foundation//DTD Struts Configuration 2.0//EN, struts-2.0.dtd); 80:dtdMappings.put(-//Apache Software Foundation//DTD Struts Configuration 2.1//EN, struts-2.1.dtd); 81:dtdMappings.put(-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN, struts-2.1.7.dtd); 82:dtdMappings.put(-//Apache Software Foundation//DTD Struts Configuration 2.3//EN, struts-2.3.dtd); Oh, I wasn't looking at the Struts2XmlConfigurationProvider; I was looking at the XmlConfigurationProvider . . . The idea is that you can use XWork in a standalone application, without Struts 2 Regards -- Łukasz + 48 606 323 122 http://www.lenart.org.pl/ - To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org