2.1.5 is up: http://people.apache.org/builds/struts/2.1.5/
musachy On Fri, Jan 2, 2009 at 11:03 AM, Musachy Barroso <musa...@gmail.com> wrote: > I just kicked it off :) > > musachy > > On Fri, Jan 2, 2009 at 11:01 AM, Al Sutton <a...@funkyandroid.com> wrote: >> Sounds like a plan to me :). >> >> Al. >> >> Musachy Barroso wrote: >>> >>> yes, the bug is in ServletUrlRenderer which should pass the whole >>> "action" to the url builder helper, instead of just the "actionName". >>> It is fixed on trunk >>> (https://issues.apache.org/struts/browse/WW-2944). >>> >>> This would affect the REST plugin, which is one of the main things in >>> 2.1, so I think we might want to go for a 2.1.5 build, what do you >>> think? >>> >>> musachy >>> >>> On Fri, Jan 2, 2009 at 4:57 AM, Al Sutton <a...@funkyandroid.com> wrote: >>> >>>> >>>> OK, The problem seems to come in UrlHelper.buildURL on line 174 of >>>> ServletUrlRenderer which is only be utilised when the action referred to >>>> in >>>> the form tag is not explicitly defined (as is the case with actions using >>>> the REST plugin). >>>> >>>> The buildURL is passed the actionName (/releases/7661) but not the >>>> actionMethod (createStage2), and so constructs a URL without >>>> !createStage2 >>>> on the end. >>>> >>>> It would appear that UrlHelper hasn't any methods to construct URLs with >>>> an >>>> actionMethod so could this be a potentially more widespread problem that >>>> I've only seen one example of? >>>> >>>> Al. >>>> >>>> Musachy Barroso wrote: >>>> >>>>> >>>>> Happy new year to you too :). >>>>> >>>>> I changed example.jsp in showcase to this: >>>>> >>>>> <s:set var="id" value="%{'exampleSubmit'}" /> >>>>> <s:form action="%{id}!execute"> >>>>> >>>>> and the output html is (right): >>>>> >>>>> <form id="exampleSubmit" name="exampleSubmit" >>>>> action="/struts2-showcase/tags/ui/exampleSubmit!execute.action" >>>>> method="post"> >>>>> >>>>> Could you set a breakpoint in ServletUrlRenderer.renderFormUrl() and >>>>> debug? The action name and method are parsed, depending on whether >>>>> "allowDynamicMethodCalls" is true, and there is some logic around the >>>>> action being found or not, so a few things can go wrong there. >>>>> >>>>> thanks >>>>> musachy >>>>> >>>>> >>>>> On Thu, Jan 1, 2009 at 4:39 AM, Al Sutton <a...@funkyandroid.com> wrote: >>>>> >>>>> >>>>>> >>>>>> Happy new year all. >>>>>> >>>>>> >>>>>> I think I've found a couple of problems, one form based, and one rest >>>>>> plugin >>>>>> based (and these are reproducable :)). >>>>>> >>>>>> 1) In the JSP I have a form which uploads a file, the s:form tag is; >>>>>> >>>>>> <s:form action="/releases/%{id}!createStage2" >>>>>> method="POST" >>>>>> onsubmit="document.getElementById('submit_button').disabled = >>>>>> 1;" >>>>>> enctype="multipart/form-data"> >>>>>> >>>>>> But when is sent to the browser it's become; >>>>>> >>>>>> <form id="7661" >>>>>> onsubmit="document.getElementById('submit_button').disabled >>>>>> = 1;" action="/AndroidPhoneApplications/releases/7661" method="POST" >>>>>> enctype="multipart/form-data"> >>>>>> >>>>>> Which means the !createStage2 has been dropped. >>>>>> >>>>>> (This causes problems because the rest plugin uses !xxxx to specify the >>>>>> method to call in the action class). >>>>>> >>>>>> >>>>>> 2) With the !createStage2 dropped the rest plugin should be calling the >>>>>> create() method in the action class (as per the docs at >>>>>> http://struts.apache.org/2.x/docs/rest-plugin.html), but it doesn't, >>>>>> it >>>>>> calls the execute() method instead. >>>>>> >>>>>> Al. >>>>>> >>>>>> -- >>>>>> ====== >>>>>> Funky Android Limited is registered in England & Wales with the company >>>>>> number 6741909. The registered head office is Kemp House, 152-160 City >>>>>> Road, London, EC1V 2NX, UK. >>>>>> The views expressed in this email are those of the author and not >>>>>> necessarily those of Funky Android Limited, it's associates, or it's >>>>>> subsidiaries. >>>>>> >>>>>> >>>>>> --------------------------------------------------------------------- >>>>>> To unsubscribe, e-mail: dev-unsubscr...@struts.apache.org >>>>>> For additional commands, e-mail: dev-h...@struts.apache.org >>>>>> >>>>>> >>>>>> >>>>>> >>>>> >>>>> >>>>> >>>> >>>> -- >>>> ====== >>>> Funky Android Limited is registered in England & Wales with the company >>>> number 6741909. The registered head office is Kemp House, 152-160 City >>>> Road, London, EC1V 2NX, UK. >>>> The views expressed in this email are those of the author and not >>>> necessarily those of Funky Android Limited, it's associates, or it's >>>> subsidiaries. >>>> >>>> >>>> --------------------------------------------------------------------- >>>> To unsubscribe, e-mail: dev-unsubscr...@struts.apache.org >>>> For additional commands, e-mail: dev-h...@struts.apache.org >>>> >>>> >>>> >>> >>> >>> >>> >> >> >> -- >> ====== >> Funky Android Limited is registered in England & Wales with the company >> number 6741909. The registered head office is Kemp House, 152-160 City >> Road, London, EC1V 2NX, UK. >> The views expressed in this email are those of the author and not >> necessarily those of Funky Android Limited, it's associates, or it's >> subsidiaries. >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: dev-unsubscr...@struts.apache.org >> For additional commands, e-mail: dev-h...@struts.apache.org >> >> > > > > -- > "Hey you! Would you help me to carry the stone?" Pink Floyd > -- "Hey you! Would you help me to carry the stone?" Pink Floyd --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@struts.apache.org For additional commands, e-mail: dev-h...@struts.apache.org