You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by mo...@physics.gmu.edu on 2004/01/20 20:26:27 UTC

passing a value using tag

Hi i am trying to capture a value through the <html:image> tag. There is a
"value" attribute also in this tag. But i am not sure what would be the
paramter name of this value.
I am using something like this

<html:image value="Step 1"> i need to capture the value "step 1" I cannot
see this value being passed on the URL.

Let me know if any one has any inputs.


--Mohan



---------------------------------------------------------------------
To unsubscribe, e-mail: struts-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: struts-user-help@jakarta.apache.org


Re: passing a value using tag

Posted by Joe Germuska <Jo...@Germuska.com>.
At 2:26 PM -0500 1/20/04, mohan@physics.gmu.edu wrote:
>Hi i am trying to capture a value through the <html:image> tag. There is a
>"value" attribute also in this tag. But i am not sure what would be the
>paramter name of this value.
>I am using something like this
>
><html:image value="Step 1"> i need to capture the value "step 1" I cannot
>see this value being passed on the URL.
>
>Let me know if any one has any inputs.

A browser submits values for an "input type='image'" element by 
setting two request parameters, /name/.x and /name/.y where /name/ is 
the value of the 'name' attribute of the input element, and the 
values are the x and y coordinates of the click in the image.  For 
"input type='image" elements in the form which are not submitted, no 
parameters are set.  In Struts, the value of the "property" attribute 
of the html:image tag is used as the "name" of the input field.

In practice, it seems that few people use the coordinates of the 
click, and instead just look for a request parameter with the 
"telltale" name and build logic from that.

 From a Struts perspective, if you want to get the values in a Form, 
you'll have to make the appropriate property of your form a bean with 
properties named "x" and "y" (that is, setX(Integer), setY(Integer) 
and corresponding accessors), because you can't stop the automated 
bean population process from interpreting the "." in the request 
parameter name as a separator between chained property names.  If you 
did this, then you could add another method which returned 'true' if 
either of those values were non-null.

Or you could add a javascript handler to the image input element 
which sets a hidden field explicitly to the value you want before 
submitting the form, and then check the value of that parameter 
instead..

Or you can just access the request parameters directly in your 
action, which might be easiest.

Joe

PS some of this is discussed in the doc for html:image:
http://jakarta.apache.org/struts/userGuide/struts-html.html#image

-- 
Joe Germuska            
Joe@Germuska.com  
http://blog.germuska.com    
       "Imagine if every Thursday your shoes exploded if you tied them 
the usual way.  This happens to us all the time with computers, and 
nobody thinks of complaining."
             -- Jef Raskin

---------------------------------------------------------------------
To unsubscribe, e-mail: struts-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: struts-user-help@jakarta.apache.org