Olá pessoal!
Estou desenvolvendo minha própria tag. E ela não está aceitando delimitadores (Expression Language) gostaria que vocês me ajudassem segue a seguir o código.
Classe Taglib
package br.com.tpd.taglib;
import java.io.IOException;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.tagext.SimpleTagSupport;
import br.com.tpd.to.UsuarioTO;
public class TaglibGrid extends SimpleTagSupport{
/**
*
*/
private static final long serialVersionUID = 1L;
private List listaUsuario;
public List getListaUsuario() {
return listaUsuario;
}
public void setListaUsuario(List listaUsuario) {
this.listaUsuario = listaUsuario;
}
public void doTag() throws JspException, IOException {
if(listaUsuario.size() > 0){
Collections.sort(listaUsuario, UsuarioTO.ORDER_BY_NOME);
}
//StringBuffer sb = new StringBuffer();
Iterator<UsuarioTO> it = listaUsuario.iterator();
while (it.hasNext()) {
UsuarioTO usuarioTO = (UsuarioTO) it.next();
/**sb.append("<label for='" + usuarioTO.getNome() + "'>"
+ usuarioTO.getNome() + "</label>");
sb.append("<label for='" + usuarioTO.getCpf() + "'>"
+ usuarioTO.getCpf() + "</label>");*/
//getJspContext().setAttribute("usuario", usuarioTO);
getJspBody().invoke(null);
}
}
}
TLD
<?xml version="1.0" encoding="ISO-8859-1" ?>
<taglib xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
version="2.0">
<tlibversion>1.0</tlibversion>
<jspversion>1.1</jspversion>
<shortname>MinhasTags</shortname>
<info>Minhas Tag's Customizadas</info>
<tag>
<name>gridCustomizado</name>
<tagclass>br.com.tpd.taglib.TaglibGrid</tagclass>
<body-content>scriptless</body-content>
<attribute>
<name>listaUsuario</name>
<type>java.util.List</type>
<rtexprvalue>true</rtexprvalue>
<required>true</required>
</attribute>
</tag>
</taglib>
JSP
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://tpd.com.br/gridCustomizado" prefix="teste"%>
<!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>Lista de Usuarios</title>
</head>
<body>
<form>
<table>
<tr>
<td>
Nome
</td>
<td>
CPF
</td>
</tr>
<teste:gridCustomizado listaUsuario="${UsuarioForm.listaUsuarioTO}"/>
</table>
</form>
</body>
</html>
Erro
org.apache.jasper.JasperException: Unable to convert string "${UsuarioForm.listaUsuarioTO}" to class "java.util.List" for attribute "listaUsuario": Property Editor not registered with the PropertyEditorManager
at org.apache.jasper.runtime.JspRuntimeLibrary.getValueFromPropertyEditorManager(JspRuntimeLibrary.java:884)
at org.apache.jsp.pages.listarUsuarios_jsp._jspx_meth_teste_005fgridCustomizado_005f0(listarUsuarios_jsp.java:114)
at org.apache.jsp.pages.listarUsuarios_jsp._jspService(listarUsuarios_jsp.java:83)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)


