Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/05/2013, 14:38
Tosqui
 
Fecha de Ingreso: mayo-2013
Mensajes: 1
Antigüedad: 10 años, 11 meses
Puntos: 2
Problema DisplayTag con Struts2

Buenas, estoy intentando crear una tabla paginada en Struts2 usando DisplayTag y no logro hacerla funcionar.
He creado los siguientes archivos:

Nombre de clase Profesores.java:
package org.apache.struts.registro.model;

public class Profesores {
private String nombre;
private String nacionalidad;
private String formacion;
private String aniosExperiencia;
private String clasesDomicilio;
private String clasesOnline;
private String correoElectronico;
private String correoElectronicoSeguridad;
private String movil;
private String tituloAnuncio;
private String descripcionAnuncio;
private long precio;

public Profesores(){

}
public Profesores(String nombre,String nacionalidad,String tituloAnuncio){
this.nombre = nombre;
this.nacionalidad = nacionalidad;
this.tituloAnuncio = tituloAnuncio;
}


public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public String getNacionalidad() {
return nacionalidad;
}
public void setNacionalidad(String nacionalidad) {
this.nacionalidad = nacionalidad;
}
public String getFormacion() {
return formacion;
}
public void setFormacion(String formacion) {
this.formacion = formacion;
}

public String getClasesDomicilio() {
return clasesDomicilio;
}
public void setClasesDomicilio(String clasesDomicilio) {
this.clasesDomicilio = clasesDomicilio;
}
public String getClasesOnline() {
return clasesOnline;
}
public void setClasesOnline(String clasesOnline) {
this.clasesOnline = clasesOnline;
}
public String getCorreoElectronico() {
return correoElectronico;
}
public void setCorreoElectronico(String correoElectronico) {
this.correoElectronico = correoElectronico;
}
public String getMovil() {
return movil;
}
public void setMovil(String movil) {
this.movil = movil;
}
public String getTituloAnuncio() {
return tituloAnuncio;
}
public void setTituloAnuncio(String tituloAnuncio) {
this.tituloAnuncio = tituloAnuncio;
}
public String getDescripcionAnuncio() {
return descripcionAnuncio;
}
public void setDescripcionAnuncio(String descripcionAnuncio) {
this.descripcionAnuncio = descripcionAnuncio;
}
public long getPrecio() {
return precio;
}
public void setPrecio(long precio) {
this.precio = precio;
}
public String getCorreoElectronicoSeguridad() {
return correoElectronicoSeguridad;
}
public void setCorreoElectronicoSeguridad(String correoElectronicoSeguridad) {
this.correoElectronicoSeguridad = correoElectronicoSeguridad;
}
public String getAniosExperiencia() {
return aniosExperiencia;
}
public void setAniosExperiencia(String aniosExperiencia) {
this.aniosExperiencia = aniosExperiencia;
}
}

Action's name: ProfesoresAction
package org.apache.struts.registro.action;

import java.util.ArrayList;
import java.util.List;

import org.apache.struts.registro.model.Profesores;

import com.opensymphony.xwork2.ActionSupport;

public class ProfesoresAction extends ActionSupport{
private static final long serialVersionUID = 1L;

private List <Profesores> listaAnunciosProfesores = new ArrayList<Profesores>();

public String execute() throws Exception {

listaAnunciosProfesores.add(new Profesores("Johny","1","B.Tech"));
listaAnunciosProfesores.add(new Profesores("Lourde","2","M.Tech"));
listaAnunciosProfesores.add(new Profesores("Mark Boucher","3","B.Tech"));
listaAnunciosProfesores.add(new Profesores("Sandy","4","B.Tech"));
listaAnunciosProfesores.add(new Profesores("Teena","5","MCA"));
listaAnunciosProfesores.add(new Profesores("Michal Bevan","6","M.Tech"));
listaAnunciosProfesores.add(new Profesores("Saranya","7","MCA"));
listaAnunciosProfesores.add(new Profesores("Rahamat","8","B.Tech"));
listaAnunciosProfesores.add(new Profesores("Rahul","9","M.Tech"));
listaAnunciosProfesores.add(new Profesores("Sugan","10","B.Tech"));
setListaAnunciosProfesores(listaAnunciosProfesores );
return SUCCESS;
}

public List<Profesores> getListaAnunciosProfesores() {
return listaAnunciosProfesores;
}

public void setListaAnunciosProfesores(List<Profesores> listaAnunciosProfesores) {
this.listaAnunciosProfesores = listaAnunciosProfesores;
}

}

struts.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>

<constant name="struts.enable.DynamicMethodInvocation" value="false" />
<constant name="struts.devMode" value="true" />

<package name="basicstruts2" extends="struts-default">

<!-- If no class attribute is specified the framework will assume success and
render the result index.jsp -->
<!-- If no name value for the result node is specified the success value is the default -->
<action name="index">
<result>/index.jsp</result>
</action>

<!-- If the URL is hello.action the call the execute method of class HelloWorldAction.
If the result returned by the execute method is success render the HelloWorld.jsp -->
<action name="hello" class="org.apache.struts.helloworld.action.HelloWo rldAction" method="execute">
<result name="success">/HelloWorld.jsp</result>
</action>

<action name="register" class="org.apache.struts.registro.action.Register" method="execute">
<result name="success">/thankyou.jsp</result>
<result name="input">/register.jsp</result>
</action>

<action name="registroProfesores" class="org.apache.struts.registro.action.RegistroP rofesores" method="execute">
<result name="success">/thankyou.jsp</result>
<result name="input">/registroProfesores.jsp</result>
</action>

<action name="listaProfesores" class="org.apache.struts.registro.action.Profesore sAction" method="execute">
<result name="success">/ListaProfesores.jsp</result>
</action>
</package>
</struts>

Nombre del jsp: ListaProfesores.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<%@ taglib uri="http://displaytag.sf.net" prefix="display" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!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=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<display:table name="listaAnunciosProfesores" requestURI="listaProfesores" pagesize="2" export="false">
<display:column property="nombre" title="Roll" paramId="nombre" sortable="true"/>
<display:column property="nacionalidad" title="Name" sortable="true"/>
<display:column property="tituloAnuncio" title="Course" sortable="true" />
</display:table>
</body>
</html>

Me está apareciendo este error:
may 04, 2013 10:00:12 PM org.apache.jasper.compiler.TldLocationsCache tldScanJar
INFO: Al menos un JAR, que se ha explorado buscando TLDs, aún no contenía TLDs. Activar historial de depuración para este historiador para una completa lista de los JARs que fueron explorados y de los que nos se halló TLDs. Saltarse JARs no necesarios durante la exploración puede dar lugar a una mejora de tiempo significativa en el arranque y compilación de JSP .
may 04, 2013 10:00:12 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: El Servlet.service() para el servlet [jsp] en el contexto con ruta [/Form_Validation_Struts2_Ant] lanzó la excepción [java.lang.NoClassDefFoundError: org/apache/commons/lang/UnhandledException] con causa raíz
java.lang.ClassNotFoundException: org.apache.commons.lang.UnhandledException
at org.apache.catalina.loader.WebappClassLoader.loadC lass(WebappClassLoader.java:1711)
at org.apache.catalina.loader.WebappClassLoader.loadC lass(WebappClassLoader.java:1556)

Alguien puede ayudarme? estoy desesperado ya.

Muchas gracias