struts文件问题

xinshou1979330 2006-10-09 05:01:39
大家好,在struts中的 web.xml 中存在

<taglib>
<taglib-uri>/tags/struts-html</taglib-uri>
<taglib-location>/WEB-INF/struts-html.tld</taglib-location>
</taglib>

这样的东西
请问一下 <taglib-uri>/tags/struts-html</taglib-uri>
是指什么啊?没有明白它的作用。
如果我想把 <html:text 这个标签扩展一下形成自己的标签该从哪里下手阿?
需要配置那些文件?
请大家多给提示与资料哈,谢谢先了。
...全文
222 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
cpl3113 2006-10-09
  • 打赏
  • 举报
回复
就是写自定义标签嘛:
标签有几部分:java文件,tld, 页面引用
一个标签对应一个java文件比如<html:text>它就会对应一个TextTag(我猜的)的java类
而tld就是为了定义哪个标签对应哪个java类
你说的uri="" 就是为了找到这个tld文件
下面反过来推一下:
当你在jsp中写了一个<html:text>时,编译器就蒙不,这是个什么东东?它就会找有没有<%@taglib uri> 前缀是html的,如果有就通过uri找到tld文件,再看看tld文件中text标签对应哪个java类,最后执行java类,就执行了你的标签。
你可以反编译标签库那些类,看看人家是怎么写的,你完全可以自己写一个一样的。

fashchina 2006-10-09
  • 打赏
  • 举报
回复
你也可以看看tld文件,那里你就应该知道了
JSP自定义标签的原理知道,就好说了
lip009 2006-10-09
  • 打赏
  • 举报
回复
<taglib-uri>/tags/struts-html</taglib-uri>
这个是引用名字
<taglib-location>/WEB-INF/struts-html.tld</taglib-location>
这个指出对应的tld文件位置
<%@ taglib uri="/tags/struts-html" prefix="html" %>
这个指出JSP页面中前缀是html的标签将由<taglib-uri>/tags/struts-html</taglib-uri>这个对应的tld文件里的标签配置处理类来处理此类标签!

先看看JSP自定义标签的使用吧
xinshou1979330 2006-10-09
  • 打赏
  • 举报
回复
yxhzj(余华[学习J2EE中]) 你的意思是:
画面 :<%@ taglib uri="/tags/struts-html" prefix="html" %>
到 web.xml中去找到 <taglib-uri>/tags/struts-html</taglib-uri>
然后由 <taglib-location>/WEB-INF/struts-html.tld</taglib-location>
去找到对应的tld文件,最后由tld文件找到jar包中的类文件
???

fashchina 2006-10-09
  • 打赏
  • 举报
回复
如果你直接导入jar包,比如struts.jar或者jstl.jar
可以不用在web.xml配置,直接用默认的
<%@ taglib uri="http://jakarta.apache.org/struts/tags-bean" prefix="bean" %>
或者
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
uri--》先得明白这个

如果在web-inf/下面存在.tld文件,如果你熟悉自定tag,那么就应该明白,
那么就可以在web.xml里面定义tag的uri
然后在页面里面引用
比如:
<taglib>
<taglib-uri>/tags/struts-html</taglib-uri>
<taglib-location>/WEB-INF/struts-html.tld</taglib-location>
</taglib>

那么,在/web-inf/下面则存在struts-html.tld
在jsp页面通过下面导入:

<%@ taglib uri="/tags/struts-html" prefix="html" %>

解析的时候,会通过tag的uri在web.xml里面找到对应的tld文件
xinshou1979330 2006-10-09
  • 打赏
  • 举报
回复
楼上 web.xml:
中的是<taglib-uri>/tags/struts-html</taglib-uri>
并非 <taglib-uri>/WEB-INF/struts-html.tld</taglib-uri>
这个样子啊

/tags/struts-html 这个东西在哪里啊?


lip009 2006-10-09
  • 打赏
  • 举报
回复
web.xml:
<taglib-uri>/WEB-INF/struts-html.tld</taglib-uri>
*.jsp:
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>

这两个一对比就知道<taglib-uri>的作用了,是指出tld文件的网络地址
web.xml:
<taglib-uri>http://java.sun.com/jstl/core</taglib-uri>
*.jsp:
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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