Generate dynamic id’s for struts html tags
Posted: September 23rd, 2008 | Author: Nischal Shetty | Filed under: Struts | Tags: dynamic style id struts tag, generate id using scriptlet struts tag, scriptlets in struts tag, struts html generate dynamic id, struts html tag dynamic style id | 7 Comments »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 with the same name but would need different id’s for each element. 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” styleid=”example<%=i%>”>
Well, if you write the code as shown above, the html code generated would be :
<input type=”text” name=”example” id = “example<%=i%>”>
and not
<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” styleid=’<%=”example”+i%>’
That’s it. If any of you ever find out a way to generate different id’s for html elements with the same name using strtus tags exclusively then do let me know












Thanks a lot
@Neel
Glad you found this article useful
The following code will work
<%for( i=1;i
<html:text property=” />
<html:text property=” />
<html:text property=” />
<html:text property=” />
<html:text property=” />
<html:text property=” />
<html:text property=” />
Oh my god this problem was driving me crazy, thank you so much for posting this.
@Ian
Ah! Glad you found it useful. Its been really long since I updated this site. I guess I’ll have to start tech blogging again…
Thanks much for the solution,it saved my day
I can generate text boxes dynamically ok.. List is coming from query in DB. I am not sure how to write code in submit button in action form which will save back result to database.
What would be code in action form to read all values?