Tengo problemas con struts, pues yo lleno un combobox con los datos de una base de datos, pero..., la JSP que tiene el combobox es la misma que se manda a llamar si hay alguna error en la introduccion de la informacion, entonces como en el request estan todos los datos a llenar en el comobobox pasa un error al volverse a llamar la misma JSP en caso de alguna equivocacion en los campos, dice que no se encuentra el arreglo de datos para llenar el combobox, me inmagino que es porque en el request en la siguiente llamada de la JSP ya no se encuentran los datos, como hago para que estos esten siempre ahi?.
Esto es una parte del codigo de el action:
public ActionForward LlenarCombo(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
Perfil perfilForm = null;
String url= "jdbc:mysql://localhost:3306/proyecto2?";
String user= "root";
String pass= "root";
try {
//this.conection = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306");
Class.forName("com.mysql.jdbc.Driver").newInstance ();
this.conection = DriverManager.getConnection(url,user,pass);
Statement stmt = conection.createStatement();
//sacar todo de la tabla pl_perfil
String sql = "Select * from pl_perfil";
ResultSet result = stmt.executeQuery(sql);
ArrayList lista=new ArrayList();
while(result.next()){
perfilForm= new Perfil();
perfilForm.setCode(result.getString("Codigo_Perfil "));
perfilForm.setPerfil(result.getString("Nombre_Perf il"));
lista.add(perfilForm);
}
result.close();
int count = lista.size();
request.setAttribute("PROFILES",lista);
//session.setAttribute("PROFILES",lista);
conection.close();
if(count>0)
return mapping.findForward("succes");
else{
return mapping.findForward("failure");
}
yo se que violo un poco el MVC haciendo eso de la conexion en el action pero, es nada mas una prueba.
ademas aqui esta un poco del codigo de la JSP:
<td class="gridcell">
<html:select property="code">
<html:options collection="PROFILES" property="code" labelProperty="perfil"/>
</html:select>
</td>
que puedo hacer?, si me pudieran ayudar se los agradeceria a mil, de antemano gracias por su tiempo.