Estou precisando implementar algo parecido, antes de tentar implementar no próprio sistema, criei um projetinho no Struts de exemplo para tentar fazer e estou com problemas. Segue abaixo alguns códigos
MyModel - Possui Apenas um Atributo chamado nome
public class MyModel implements Serializable {
private String nome;
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
}
MyJavaBean - Poderia entender ele como um bean que será persistido no banco de dados, ele possui o atrituto MyModel
public class MyJavaBean implements Serializable {
private MyModel myModel;
public MyModel getMyModel() {
return myModel;
}
public void setMyModel(MyModel myModel) {
this.myModel = myModel;
}
}
TesteForm é a classe do meu ActionForm, ela possui o atributo MyModel
public class TesteForm extends ActionForm {
private MyModel myModel;
public MyModel getMyModel() {
return myModel;
}
public void setMyModel(MyModel myModel) {
this.myModel = myModel;
}
}
E por fim minha Action do Struts, aqui eu adicionei os valores na mão, pois são apenas testes.
public class TesteAction extends Action {
public ActionForward execute(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response) {
TesteForm testeForm = (TesteForm) form;
ArrayList arrayList = new ArrayList();
MyModel myModel;
myModel = new MyModel();
myModel.setNome("Alex");
arrayList.add(myModel);
testeForm.setMyModel(myModel);
myModel = new MyModel();
myModel.setNome("Fernando");
arrayList.add(myModel);
myModel = new MyModel();
myModel.setNome("Priscila");
arrayList.add(myModel);
myModel = new MyModel();
myModel.setNome("Thaís");
arrayList.add(myModel);
request.setAttribute("arrayList",arrayList);
return mapping.findForward("success");
}
}
Da pra ver que eu vou criando os MyModel e jogando em um ArrayList, no final eu jogo o ArrayList no Request. O primeiro MyModel eu adicionei no ActionForm.
Dentro do JSP o código está assim
<html:form action="/teste">
<html:select property="myModel">
<html:optionsCollection name="arrayList" property="myModel.nome"/>
</html:select>
</html:form>
Mas sempre recebo a mensagem de erro
No getter method for property myModel.nome of bean arrayList
Alguem poderia me ajudar?
Já fiz várias coisas mada nada funcionou…
Obrigado