struts-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Balazs Michnay <sztg.sze...@yahoo.com>
Subject Re: Form data to Vector
Date Mon, 16 Apr 2007 11:28:46 GMT
Struts does not seem to accept a Vector-typed field as a property value. The form simply fails
to load.
I'd happily use LazyList and a Factory together instead of a Vector if it's easy to implement...
First I wanted to get it working with Vector, then I can easily switch to a different container.

------------------------------------
In my JSP:
<html:select property="vizsgalatEsOrvos[0]">
------------------------------------
In my bean:
private Vector vizsgalatEsOrvos;

    public Vector getVizsgalatEsOrvos() {
        return vizsgalatEsOrvos;
    }

    public void setVizsgalatEsOrvos(Vector vizsgalatEsOrvos) {
        this.vizsgalatEsOrvos = vizsgalatEsOrvos;
    }
------------------------------------
Instantiating my Vector in the constructor won't help...
Struts should call

myForm.getMyVector().set(0, ?)

Do I need to implement this metod? Do I need to write my own setters/getters to do this?
How can I do this exactly? 

Thanks,

MB

----- Original Message ----
From: Lance <lance.semmens@marketpipe.com>
To: user@struts.apache.org
Sent: Monday, April 16, 2007 12:12:00 PM
Subject: Re: Form data to Vector



Lance wrote:
> Sorry, it helps if i read your question fully.
>
> The way to do this is to name your html form elements using in the 
> struts (BeanUtils) conventions
> If you have a form element named "myVector[3]" then struts will call 
> myForm.getMyVector().set(3, ?)
>
> It is sometimes easiest to use the struts nested tags to do this
>
> <nested:iterate  property="myVector">
>    <nested:text property="name" />
>    <nested:text property="age" />
> </nested:iterate>
>
> will produce
> <input type="text" name="myVector[0].name" value="" />
> <input type="text" name="myVector[0].age" value="" />
> <input type="text" name="myVector[1].name" value="" />
> <input type="text" name="myVector[1].age" value="" />
>
> If you are adding elements to the vector (instead of just editing 
> existing vector elements), you might want to use a LazyList and a 
> Factory together instead of a Vector, if you do, I can give you a bit 
> more help if you need.
>
> Lance.
>
>
> Lance wrote:
>> Only way to get data into a Vector is by a scriptlet or in your action.
>> Struts 2's OGNL has a nice way of doing this but unfortunately with 
>> S1 we're left with dirty scriptlets in JSPs some of the time.
>>
>> JSTL has a <c:forTokens /> that sometimes comes in handy where you 
>> provide a comma separated list of Strings and iterate through the 
>> elements.
>>
>> Balazs Michnay wrote:
>>> Thanks for the reply.
>>> Yes, I know how to use the <logic:iterate> to display the elements 
>>> of a Vector (or ArrayList), I just don't see how to put these values 
>>> into the Vector. I mean if I have a Vector (or an ArrayList) 
>>> property in my form bean, how do I put some of my form data into my 
>>> bean property. Do I need to modify the setters/getters? There must 
>>> be a way to do this...
>>> And yes, you're right, one the data are in the Vector, I can use 
>>> <logic:iterate> to display them.
>>> Thanks for your help,
>>>
>>> Regards,
>>>
>>> MB
>>>
>>> ----- Original Message ----
>>> From: Martin Gainty <mgainty@hotmail.com>
>>> To: Struts Users Mailing List <user@struts.apache.org>
>>> Sent: Friday, April 13, 2007 3:45:17 PM
>>> Subject: Re: Form data to Vector
>>>
>>> Balazs
>>>
>>> Take a look at
>>> http://struts.apache.org/1.0.2/api/org/apache/struts/taglib/logic/package-summary.html

>>>
>>> you will see this example of implementing a vector via use of struts 
>>> logic:iterate in your jsp
>>>
>>> <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
>>> <%
>>>   java.util.Vector vector = new java.util.Vector();
>>>   vector.add(new Integer(12));
>>>   vector.add(new Integer(5));
>>>  %>
>>> <logic:iterate id="myCollectionElement" collection="<%= vector %>">
>>>  Do something with myCollectionElement
>>> </logic:iterate>
>>> This email message and any files transmitted with it contain 
>>> confidential
>>> information intended only for the person(s) to whom this email 
>>> message is
>>> addressed.  If you have received this email message in error, please 
>>> notify
>>> the sender immediately by telephone or email and destroy the original
>>> message without making a copy.  Thank you.
>>>
>>> ----- Original Message ----- From: "Balazs Michnay" 
>>> <sztg.szeged@yahoo.com>
>>> To: "Struts Users Mailing List" <user@struts.apache.org>
>>> Sent: Friday, April 13, 2007 4:09 AM
>>> Subject: Form data to Vector
>>>
>>>
>>>  
>>>> Hi,
>>>>
>>>> I have a form with two submit buttons. One should add the content 
>>>> of a text field to a Vector (which is in the form bean?), and the 
>>>> other one should point to another page that has access to the 
>>>> Vector values.
>>>> I'd like to know how to add form data to a Vector.
>>>> Any help would be appreciated.
>>>>
>>>> Thanks a lot,
>>>>
>>>> MB
>>>>
>>>>
>>>>
>>>> __________________________________________________
>>>> Do You Yahoo!?
>>>> Tired of spam?  Yahoo! Mail has the best spam protection around
>>>> http://mail.yahoo.com     
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
>>> For additional commands, e-mail: user-help@struts.apache.org
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> __________________________________________________
>>> Do You Yahoo!?
>>> Tired of spam?  Yahoo! Mail has the best spam protection around 
>>> http://mail.yahoo.com   
>>
>


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







__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 
Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message