Most (all?) of the built-in result types parse OGNL in the "location" param, although you can turn off that functionality via the "parse" param.
d. --- Gunnar Hillert <[EMAIL PROTECTED]> wrote: > > Hi, > > Thanks for your helpful post! Interestingly, this > also works with redirect > actions. Since I have not seen any examples anywhere > out there, I thought I > also post an example for them: > > <result name="success" > type="redirectAction"> > mySuccess?fooId=${fooId}${bartId ? > "&barId=" + barId : > ""} > </result> > > Cheers, > > Gunnar > > > > Gary Affonso wrote: > > > > I knew I had done this before, I just found the > code. > > > > Your redirect needs to look something like... > > > > <result name="success" type="redirect"> > > > > myAction.action${foo ? '?foo=' + foo : ''} > > > > </result> > > > > Note that I'm pretty sure your OGNL lookups are > not going to get > > url-escaped. > > > > The above assumes that "foo" is a property of the > Action and available > > to OGNL (a getter). If foo lives somewhere else > (like in the session, > > for instance) then you'll need to do a little more > work to write the > > proper ognl reference. > > > > Anyway, hope that helps. I think the above is > (mostly) right this time. > > :-) > > > > - Gary > > > > > > Gary Affonso wrote: > >> I think you already know this, but in case you > don't... When you > >> specify the action to redirect to, you have > access to the OGNL stack. > >> > >> So your redirect may look something like this.. > >> > >> <result name="success"type="redirect"> > >> myAction.action?param=${paramValue} > >> </result> > >> > >> I think what you're asking is, if "param" has no > value, you don't want > >> to see *anything* in the url. Neither the key > nor the value of the > >> key/value pair. Right? > >> > >> So it should be just a matter of coming up with > an OGNL expression that > >> tests for null before inserting either part of > the key/value pair. > >> > >> Something like: > >> > >> myAction.action?${paramValue ? '' : 'param=' + > paramValue} > >> > >> Note, that's *totally* off-the-cuff. I know OGNL > does have the ternary > >> operator ( condition ? e2 : e3) but the string > quoting, null checks, > >> ${}, string concatenation, etc. is probably all > be wrong in that line > >> above. :-) > >> > >> The point is that I think all you need to do is > be a little more > >> sophisticated about the OGNL string. You just > gotta go learn a bit more > >> about OGNL. > >> > >> The OGNL language reference (at least the one I > know about) is here: > >> > >> > http://www.ognl.org/2.6.9/Documentation/html/LanguageGuide/index.html > >> > >> - Gary > >> > >> Gunnar Hillert wrote: > >>> Hi, > >>> > >>> A typical requirement in my webapps is to > "redirect" to result pages > >>> after > >>> form submission. > >>> This is quite nicely described here: > >>> > http://www.vitarara.org/cms/struts_2_cookbook/post_and_redirect > >>> > >>> This works great but here is my question: > >>> > >>> Is there a way to dynamically create parameters? > For instance, I have > >>> use > >>> cases where I don't have to provide all > parameters in my redirects at > >>> all > >>> times. Thus, if the value of variable foo is > null in my action I don't > >>> want > >>> to use the variable in my redirect. I hate to > see > >>> .../myaction.action?foo=&bar=1 in my urls. > >>> > >>> Is there anything in Struts that would allow > this? E.g. some additional > >>> attribute on the param element would be nice > ${foo} > >>> > >>> Or do I have to create my own "custom" > result-type? > >>> > >>> Thanks! > >>> > >>> Gunnar Hillert > >> > >> > >> > --------------------------------------------------------------------- > >> To unsubscribe, e-mail: > [EMAIL PROTECTED] > >> For additional commands, e-mail: > [EMAIL PROTECTED] > >> > >> > > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: > [EMAIL PROTECTED] > > For additional commands, e-mail: > [EMAIL PROTECTED] > > > > > > > > -- > View this message in context: > http://www.nabble.com/Redirects---Dynamic-Parameters-tf4758978.html#a13638069 > Sent from the Struts - User mailing list archive at > Nabble.com. > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: > [EMAIL PROTECTED] > For additional commands, e-mail: > [EMAIL PROTECTED] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]