Bueno, la verdad no lo he podido solucionar, siempre cuando ejecuto la pagina me sale el error
Cannot find bean: "listaProfesion" in any scope, a continuacion les coloco el codigo a ver si ustedes me ayudan a ver donde esta el error.
Tengo una pagina .JSP mas o menos como sigue
Código PHP:
<%--
Document : Clientes
Created on : 15-ene-2009, 22:13:47
Author : root
--%>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-bean" prefix="bean" %>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html" %>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Registro de Clientes</title>
<link rel="stylesheet" type="text/css" href="stylesheet.css">
</head>
<body>
<h1>Registro de Clientes!</h1>
<html:form action = "/Clientes">
<table border="0">
<tbody>
<tr>
<td>Cedula:</td>
<td><html:text property="cedula" /></td>
</tr>
<tr>
<td>Nombre:</td>
<td><html:text property = "nombre" /></td>
</tr>
<tr>
<td>Apellido:</td>
<td><html:text property = "apellido" /></td>
</tr>
<tr>
<td>Fec. Nac.:</td>
<td><html:text property = "nacimiento" /></td>
</tr>
<tr>
<td>Pais:</td>
<td><html:select property = "pais">
<html:option value = "Argentina">Argentina</html:option>
<html:option value = "Venezuela">Venezuela</html:option>
</html:select></td>
</tr>
<tr>
<td>Ciudad:</td>
<td><html:select property = "ciudad">
<html:option value = "Acarigua">Acarigua</html:option>
<html:option value = "Maracay">Maracay</html:option>
</html:select></td>
</tr>
<tr>
<td>Sexo:</td>
<td><html:radio property = "sexo" value = "Masculino">Masculino</html:radio>
<html:radio property = "sexo" value = "Femenino">Femenino</html:radio>
</td>
</tr>
<tr>
<td>Prefesión:</td>
<td><html:select property = "profesion">
<html:optionsCollection name = "listaProfesion" value = "id" label = "descripcion" />
</html:select>
</td>
</tr>
<tr>
<td>Login:</td>
<td><html:text property = "login" /></td>
</tr>
<tr>
<td>Password:</td>
<td><html:password property = "password" /></td>
</tr>
<tr>
<td colspan = "2"><html:checkbox property = "acepta">Acepto los términos y condiciones</html:checkbox></td>
</tr>
<tr>
<td></td>
<td><html:submit value = "Aceptar" /></td>
</tr>
</tbody>
</table>
</html:form>
</body>
</html>
Lo resaltante de este codigo -JSP es el siguiente:
Código PHP:
<html:select property = "profesion">
<html:optionsCollection name = "listaProfesion" value = "id" label = "descripcion" />
</html:select>
Por otro lado tengo la clase ActionForm que es la siguiente:
Código PHP:
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package com.myapp.struts;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;
import java.util.ArrayList;
/**
*
* @author root
*/
public class ClientesForm extends org.apache.struts.action.ActionForm {
private String cedula;
private String nombre;
private String apellido;
private String nacimiento;
private String login;
private String password;
private boolean acepta;
private String sexo;
private String pais;
private String ciudad;
private String profesion;
public String getProfesion() {
return profesion;
}
public void setProfesion(String profesion) {
this.profesion = profesion;
}
public boolean isAcepta() {
return acepta;
}
public void setAcepta(boolean acepta) {
this.acepta = acepta;
}
public String getApellido() {
return apellido;
}
public void setApellido(String apellido) {
this.apellido = apellido;
}
public String getCedula() {
return cedula;
}
public void setCedula(String cedula) {
this.cedula = cedula;
}
public String getCiudad() {
return ciudad;
}
public void setCiudad(String ciudad) {
this.ciudad = ciudad;
}
public String getLogin() {
return login;
}
public void setLogin(String login) {
this.login = login;
}
public String getNacimiento() {
return nacimiento;
}
public void setNacimiento(String nacimiento) {
this.nacimiento = nacimiento;
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public String getPais() {
return pais;
}
public void setPais(String pais) {
this.pais = pais;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getSexo() {
return sexo;
}
public void setSexo(String sexo) {
this.sexo = sexo;
}
/**
*
*/
public ClientesForm() {
super();
// TODO Auto-generated constructor stub
}
/**
* This is the action called from the Struts framework.
* @param mapping The ActionMapping used to select this instance.
* @param request The HTTP Request we are processing.
* @return
*/
public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) {
ActionErrors errors = new ActionErrors();
// if (getName() == null || getName().length() < 1) {
// errors.add("name", new ActionMessage("error.name.required"));
// // TODO: add 'error.name.required' key to your resources
// }
return errors;
}
}