Karen,
Then yes you appear to have an issue with the generated Action value...
but I'm reaching here and curious as to why you have:
@URLBinding("/user/{username*=*}/profile.html
and not:
@URLBinding("/user/{username}/profile.html
That = would at least make me think the default value for username is
<blank>... perhaps its causing a weird side effect.
Not sure if this is your issue and if it isn't I still have the solution
I adopted which I can tell you about (I actually posted the solution but
under a slightly different subject heading "Re: [Stripes-users] <s:form
Localization Issue (SOLUTION)" but I can explain it better).
Cheers,
--Nikolaos
Karen wrote:
Nikolaos,
The problem I have is that I have parameterized pages that need to be both
SEO Friendly and updatable.
Action Bean:
@URLBinding("/user/{username=}/profile.html")
Example URL:
/user/jane/profile.html
But <stripes:form> will generate this URL for it:
/user//profile.html
But it needs to be:
/user/jane/profile.html
This might be due to legacy code based on the fact that mixing GET
parameters in the URL with a POST parameters is not allowed. But this
limitation should not apply to the URL's we generate with @URLBindings.
-----Original Message-----
From: Nikolaos Giannopoulos [mailto:nikol...@brightminds.org]
Sent: Wednesday, 26 January, 2011 21:02
To: Karen
Cc: 'Stripes Users List'
Subject: Re: [Stripes-users] Stripes forms and Clean Url binding?
Karen,
My issue was with localization in that I needed a localized URI binding but
Stripes forced me to have one that it could resolve the URI to an
ActionBean.
But if I understand you correctly I'm not sure your case is an issue.
You don't want Stripes trying to plug in parameters like "event" for example
which may have multiple submit buttons e.g. "Cancel" and "Continue".
And as far as the other parameters are concerned hidden form fields could
readily supply values back on form submit.
I for one am glad that Stripes puts little effort into determining this URL
because it offers full freedom within my form. Again my issue was w.r.t. to
localization which is another animal altogether.
Perhaps this is not what you are talking about... if so... then an example
might help ;-)
--Nikolaos
Karen wrote:
I like to follow-up on Nikolaos remarks about clean URLS and forms not
working as expected.
When using the <stripes:form> tag for action beans that have an
@URLBinding annotation with parameters, the <stripes:form> tag ignores
those parameters and thus generates an unexpected and incorrect form
action URL.
I'm under the impression that this could be fixed by altering the
'setBeanclass' and 'doStartTag' method on the
net.sourceforge.stripes.tag.FormTag class. If these methods became
aware of the parameter defined in the @URLBinding of the ActionBean it
would be possible to generate a complete URL. The parameter values
themselves could be 'get' from the current action bean by using the Java
reflection API.
This would of course only work when the action bean handling the form
forwards to the JSP with the form (MVC pattern). So we might want to
make this behavior optional.
Would this be a good solution to this problem?
-----Original Message-----
From: Nikolaos Giannopoulos [mailto:nikol...@brightminds.org]
Sent: Saturday, 20 November, 2010 23:37
To: Stripes Users List
Subject: Re: [Stripes-users] Stripes forms and Clean Url binding?
Oops... was playing around with a number of solutions. This one won't
work because it didn't solve the fact that form action="/article" is
unable to hit the @UrlBinding for the ArticleActionBean.
So far what appears to work is doing the following:
<s:form action="${actionBean.formUrlBinding}" method="POST">
And then having on the action bean:
public String getFormUrlBinding() {
StringBuilder sb = new StringBuilder();
sb.append("/article/").append(this.authorId).append('/').append(this.i
d).app
end('/').append(this.titleUrlified);
return (sb.toString());
}
Still appears to be a hack as I am duplicating the @UrlBinding but at
least its encapsulated in the ActionBean... if that is any solace ;-)
Cheers,
--Nikolaos
Nikolaos Giannopoulos wrote:
Hi,
So I figured out a solution to the problem:
<s:hidden name="authorId"></s:hidden> <s:hidden name="id"></s:hidden>
<s:hidden name="titleUrlified"></s:hidden>
At first I thought it would be nice to force Stripes to build the
complete @UrlBinding i.e. it is already obviously consulting the
@UrlBinding to produce "/article" but understand why it isn't so.
Even in my case above I didn't want "event" to be the same so I guess
this offers the most flexibility... because how far do you go in
binding parameters is not black & white.
Cheers,
--Nikolaos
Nikolaos Giannopoulos wrote:
Hi,
We have the following Url binding:
@UrlBinding("/article/{authorId}/{id}/{titleUrlified}/{$event}")
And when we direct to the following url:
/web/article////add
It does a ForwardResolution to a form which contains:
<s:form
beanclass="org.test.ui.web.action.content.ArticleActionBean"
method="POST">
...
<s:submit name="save" />
<s:submit name="cancel" />
</s:form>
However the HTML output is as follows:
<form action="/web/article" method="POST">
...
<input name="save" value="Save" type="submit" />
<input name="cancel" value="Cancel" type="submit" />
</form>
But the action ="/web/article" isn't sufficient to hit our Url
binding... when we click on the "save" or "cancel" buttons???
Am I missing something obvious like in the case of addParameter on
RedirectResolution?
Anyone?
--Nikolaos
--
Nikolaos Giannopoulos
Director of Information Technology
BrightMinds Software Inc.
e. nikol...@brightminds.org
w. www.brightminds.org
t. 1.613.822.1700
c. 1.613.797.0036
f. 1.613.822.1915
------------------------------------------------------------------------------
Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)!
Finally, a world-class log management solution at an even better price-free!
Download using promo code Free_Logger_4_Dev2Dev. Offer expires
February 28th, so secure your free ArcSight Logger TODAY!
http://p.sf.net/sfu/arcsight-sfd2d
_______________________________________________
Stripes-users mailing list
Stripes-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/stripes-users