Do you use struts tags to generate html content?
If yes, then sooner or later you'll come across a scenario where you would generate html elements in an array
I faced a similar predicament recently. I had no other option but to use scriptlets to generate id's for the html elements
However, I soon found out using scriptlets within the struts html tags isn't really straight forward.
Here's the code I tried in my first attempt:
<%int i=0;%> //iteration logic here <html:text property="example[<%=i%>]" styleid="example<%=i%>"/>
Well, if you write the code as shown above, the html code generated would be :
<input type="text" name="example[<%=i%>]" id = "example<%=i%>">
<input type="text" name="example" id="example0">
To get the expected result, i.e. for the scriptlet to work inside the struts html tag, write as below:
<html:text property='<%="example["+i+"]"%>' styleid='<%="example"+i%>'/>
Please note that the name of the elements should be like this if you want them to read in Action Class via Action Form.
example, example, example, example......and so on...
What do one needs to retrieve these values in Action Class
- Create a property in Action Form with the name example of type String. (Though ArrayList may also work, but I have not tried it yet)
- Create the corresponding getter setters for the property defined above.