taglib attribute问题,达人狂入啊,急!!!!在线等待。。。

watano CTO  2004-08-23 03:08:42
为什么我的taglib老是出现Unable to find setter method for attribute: display错误?我该加的全部加了啊,但是还是出现问题啊,而且这个问题随机出现,时好时坏。我太郁闷了,各位老大们帮帮忙把!

我用的是tomcat4.1.30和tomcat5.0.25。
我在tld是:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE taglib
PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"
"http://java.sun.com/j2ee/dtd/web-jsptaglibrary_1_2.dtd">
<taglib>
<tlibversion>1.0</tlibversion>
<jspversion>1.2</jspversion>
<shortname>demo</shortname>
<uri></uri>
<tag>
<name>lookup</name>
<tagclass>demo.LookupTag</tagclass>
<body-content>empty</body-content>
<attribute>
<name>display</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
</taglib>
我的web.xml是:
<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
<!-- taglib-->
<taglib>
<taglib-uri>/WEB-INF/LookupTag.tld</taglib-uri>
<taglib-location>/WEB-INF/LookupTag.tld</taglib-location>
</taglib>
</web-app>
我得jsp是:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<%@ taglib uri="/WEB-INF/LookupTag.tld" prefix="demo" %>
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
</HEAD>

<BODY>test:<br>
<demo:lookup name="watano"/>
</BODY>
</HTML>
...全文
98 点赞 收藏 6
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
yihan422 2004-08-23
tld文件在哪?
回复
xiangbo520 2004-08-23
你的标记的类呢??连这个都没有,你的容器怎么知道你的标记要进行什么操作啊??
回复
watano 2004-08-23
to hanic(天天添一天):
本来就是<demo:lookup display="watano"/>的。只是我粘贴错了。

to bluesky35(蓝天)
但是我得display本身就是String的啊,servlet中:
//display
public String getDisplay() {
return display;
}
public void setDisplay(String display) {
this.display = display;
}

回复
bluesky35 2004-08-23
参数最好是String的,如下:
public void setBorder(String value) {
........
}
回复
bluesky35 2004-08-23
在java文件里必须有attribute的set方法,如下所示.
tld中有定义:
<!-- table -->
<tag>
<name>table</name>
<tagclass>tag</tagclass>
<bodycontent>jsp</bodycontent>
<info>Tag</info>
<attribute>
<name>border</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>

servlet中必须要有:
public void setBorder(int value) {
if (value < 0) {
value = 1;
}
}
以上setBorder方法必须要有,否则就会报错!
回复
hanic 2004-08-23
try

<demo:lookup display="watano"/>
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2004-08-23 03:08
社区公告
暂无公告