Caros amigos,
Estou tentando fazer um formulário no struts como ex. abaixo
public class Usuario {
private String nome;
private Endereco endereco;
// …getters n’ setters
}
public class Endereco {
private int id;
private String rua;
private String cep;
// …getters n’ setters
}
<html:form action=/teste.do>
nome <html:text property=“nome”/>
endereco id <html:text property=“endereco.id”/>
</html:form>
Quando o faço o submit deste form recebo a exceção:
javax.servlet.ServletException: BeanUtils.populate
org.apache.struts.util.RequestUtils.populate(RequestUtils.java:1254)
org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.java:821)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:254)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause
java.lang.IllegalArgumentException: No bean specified
org.apache.commons.beanutils.PropertyUtils.getPropertyDescriptor(PropertyUtils.java:837)
org.apache.commons.beanutils.BeanUtils.setProperty(BeanUtils.java:934)
org.apache.commons.beanutils.BeanUtils.populate(BeanUtils.java:808)
org.apache.struts.util.RequestUtils.populate(RequestUtils.java:1252)
org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.java:821)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:254)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
Isso acontece por causa da propriedade endereco.id gostaria de saber como posso popular tal propriedade. Acreditei que a taglib nested fosse para tal propósito, mas não funcionou
nota: Eu ja instanciei o objeto Endereco do bean.
Grato pela atenção!