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

watano 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>
...全文
126 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
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"/>

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧