In case anyone also needs this, I avoided this by using the <s:set ..> tag (thus using the value stack). It worked just fine without adding the extra property to the Action class.
Wes Wannemacher wrote:
I don't think you are understanding what I am telling you... When you read a parameter directly, it will be a string. It's pretty much the same as calling - request.getParameter("paramName"); (http://java.sun.com/products/servlet/2.2/javadoc/javax/servlet/ServletRequest.html#getParameter(java.lang.String)) Since that returns a String, it will be treated like a String. Adding a getter to your action will pass it through the converters, etc. so that you can treat it like a number. My second suggestion is to do some OGNL scripting to convert it, but I would advise to add getter/setter to your action since a NumberFormatException can be raised (that could be silently swallowed). On 12/10/07, Alberto A. Flores <[EMAIL PROTECTED]> wrote:Thanks Wes, No offense to this approach, but is this the only way to do additions (and for this matter, any other operations) within a struts2 tag?. This is simply not clean (e.g. adding a property to my action for a counter, etc). Thanks anyway! Alberto Wes Wannemacher wrote:#request.foo is going to evaluate as a j.l.String. If your action has a getter for foo, then just refer to it as "%{foo + 1}", conversely, if you are feeling confident, you can make a static call to parse it - "[EMAIL PROTECTED]@parseInt(#request.foo) +1}" -Wes On 12/10/07, Alberto A. Flores <[EMAIL PROTECTED]> wrote:I'm currently migrating an app from Struts 1.x to 2.x and encounter this situation where I was calculating the tabIndex of a JSP on the fly (reusable JSP). In struts 1.x this was done using <c:set var="tabIndexCount" value="<%= request.getParameter("foo") %>"/> ... <html-el:text tabIndex="${tabIndexCount + 1}" ... /> According to the Struts2 documentation, non-string attributes are evaluated as expressions, so the following: <s:textInput tabIndex=""%{#request.foo + 1}/> should do the work, but instead the above code is *appending* a 1 (string concatenation). Am I missing something or this is a bug? Any ideas! -- Alberto A. Flores http://www.linkedin.com/in/aflores --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]-- Alberto A. Flores http://www.linkedin.com/in/aflores --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
-- Alberto A. Flores http://www.linkedin.com/in/aflores
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]

