Prezados Colegas,
Estou tentado aprendar a utilizar taglibs mas estou com problemas:
Quando eu rodo o jsp que chama a tag ele me da erro no parse do XML falando que a tag <tag> não suporta <tagClass> … já chequei o tld é parece que está ok… será que alguém pode me dar uma ajudinha?
Desde já… valeu hein…
user.tld
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE taglib
PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN"
"http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">
<taglib>
<tlibversion>1.0</tlibversion>
<jspversion>1.1</jspversion>
<shortname>td</shortname>
<info>
</info>
<tag>
<name>userList</name>
<tagClass>xke.tags.ListUser</tagClass>
<info>Lista os usuários cadastrados</info>
<bodycontent>EMPTY</bodycontent>]
<attribute>
<name>idUser</name>
<required>false</required>
<rtexpvalue>true<rtexpvalue>
</attribute>
<attribute>
<name>name</name>
<required>false</required>
<rtexpvalue>true<rtexpvalue>
</attribute>
<attribute>
<name>email</name>
<required>false</required>
<rtexpvalue>true<rtexpvalue>
</attribute>
<attribute>
<name>username</name>
<required>false</required>
<rtexpvalue>true<rtexpvalue>
</attribute>
</tag>
</taglib>
ListUser.java
package xke.tags;
import xke.business.BusinessUser;
import xke.entity.User;
import javax.servlet.jsp.*;
import javax.servlet.jsp.tagext.*;
import java.io.*;
import java.util.*;
public class ListUser extends TagSupport{
private Long idUser = null;
private String name = null;
private String email = null;
private String username = null;
private int page;
public int doStartTag(){
try{
JspWriter out = pageContext.getOut();
StringBuffer sb = new StringBuffer();
BusinessUser bu = new BusinessUser();
ArrayList al = null;
int page = 1;
page = this.getPage();
if ((this.getIdUser() == null) &&
(this.getName() == null) &&
(this.getEmail() == null) &&
(this.getUsername() == null)){
al = (ArrayList) bu.find(page);
}
else{
al = (ArrayList) bu.find(page,this.getIdUser(),"%" + this.getName() + "%" ,"%" + this.getEmail() + "%" , "%" + this.getUsername() + "%" ,null);
}
Iterator i = al.iterator();
while(i.hasNext()){
User u = (User) i.next();
sb.append("<tr>
");
sb.append("<td>");
sb.append(u.getName());
sb.append("</td>
");
sb.append("<td>");
sb.append(u.getUsername());
sb.append("</td>
");
sb.append("<td>");
sb.append(u.getEmail());
sb.append("</td>");
sb.append("</tr>
");
sb.append("<td>");
sb.append("Excluir");
sb.append("</td>
");
sb.append("</tr>
");
}
out.println(sb.toString());
}catch(IOException ioe){
ioe.printStackTrace();
}
catch(Exception e){
e.printStackTrace();
}
return (SKIP_BODY);
}
public String getEmail() {
return email;
}
public Long getIdUser() {
return idUser;
}
public String getName() {
return name;
}
public int getPage() {
return page;
}
public String getUsername() {
return username;
}
public void setEmail(String string) {
email = string;
}
public void setIdUser(Long long1) {
idUser = long1;
}
public void setName(String string) {
name = string;
}
public void setPage(int i) {
page = i;
}
public void setUsername(String string) {
username = string;
}
}
Arquivo JSP
<%@ taglib uri="/WEB-INF/user.tld" prefix="td" %>
<%@ page language="java" %>
<!DOCTYPE HTML PUBLIC "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<title>Lomboz JSP</title>
</head>
<body bgcolor="#FFFFFF">
<td:userList/>
</body>
</html>