Most of Struts Tag can be replaced with Struts EL(Expression Language, part of JSP1.2 specification) Tag, these tags help u to reduce "<%%>" code in jsp pages. such as:
<html-el:text property="${beanName}"/>
same as:
<html:text property="<%=beanName%>"/>
for more information, pls refer to jakarta web site
nicholasdu()'s solution works for resolving nested struts tags, especially if the nest happens at multiple levels on different java beans. <bean:define> gives a intermidiate bean, like a java local variable.
with all the benifits, i still suggest use one bean in a jsp page, using nested representaion format (bean.propertyLevel1.propertyLevel2...). it is simpler and more concise.
I dont see much benefit of struts <html> tag. why not just use a normal html <input> tag? that you dont have embedded struts tags. the critial thing is to make your VO follow java bean protocol, so that you can use embedded bean structure representation.