页面引用:
<%@ taglib uri="/WEB-INF/abc.tld" prefix="aa" %>
...
<aa:mytag .../>
tld:
<?xml version="1.0" encoding="UTF-8"?>
<taglib version="2.0">
<tlib-version>1.0</tlib-version>
<tag>
<name>adv</name>
<tagclass>com.mb.util.Advertisement</tagclass>
<attribute>
<name>placeId</name>
<required>true</required>
</attribute>
</tag>
</taglib>
java:
public class Advertisement extends TagSupport {
/** */
private static final long serialVersionUID = -1701876066227050270L;
/** 广告位ID */
private String placeId;
public int doEndTag() throws JspException {
String path = pageContext.getServletContext().getRealPath("/");
Long cityID = ((City) pageContext.getSession().getAttribute("city")).getId();
cityID = 1L;
// 得到广告位id
AdvdeployDAO dao = (AdvdeployDAO) BeanProxy.getBean("advDeployDAO");
AdvDeploy advdeploy = dao.getAdvdeploy("" + cityID, placeId, "0");
StringBuilder sb = new StringBuilder();
String advStr = "";
if (advdeploy != null) {
Adv adv = advdeploy.getAdv();
String advalt = "";
String imgurl = "";
Long advid = 0L;
if (adv != null) {
advalt = adv.getAlt();
imgurl = adv.getImgurl();
advid = adv.getId();
}
// 根据位置查看是不是滚动广告
Advplace ap = advdeploy.getPc().getAdvplace();
if (imgurl.endsWith(".swf")) {
sb.append("<embed src='#path#imgurl' width='#width' height='#height'/>");
} else {
sb.append("<a href='#path/updateAdvClickNum.mb?id=#id&cityID=#cityID' target='_blank'>");
sb.append("<img alt='#alt' src='#path#imgurl' width='#width' height='#height'/>");
sb.append("</a>");
}
advStr = sb.toString();
advStr = advStr.replace("#id", advid + "");
advStr = advStr.replace("#cityID", cityID + "");
advStr = advStr.replace("#alt", advalt);
advStr = advStr.replace("#path", path);
advStr = advStr.replace("#imgurl", imgurl);
advStr = advStr.replace("#width", ap.getWidth() + "");
advStr = advStr.replace("#height", ap.getHeight() + "");
}
JspWriter jw = pageContext.getOut();
try {
jw.println(advStr);
} catch (IOException e) {
e.printStackTrace();
}
return SKIP_BODY;
}
/**
* @return the placeId
*/
public String getPlaceId() {
return placeId;
}
/**
* @param placeId the placeId to set
*/
public void setPlaceId(String placeId) {
this.placeId = placeId;
}
}
分享到:
相关推荐
JSP自定义标签JSP自定义标签JSP自定义标签JSP自定义标签JSP自定义标签JSP自定义标签
jsp自定义标签jsp自定义标签jsp自定义标签
jsp自定义标签jsp自定义标签jsp自定义标签jsp自定义标签
jsp 自定义标签 一个简单的自定义标签实现
本人自行研究JSP自定义标签的学习笔记 目录如下: 目录 一、概述 1 1.1 使用简单标签机制 2 1.2 使用标签文件 3 二 、自定义标签简介 3 2.1 自定义标签概念 3 2.2 标签相关概念 3 2.3 如何创建自定义标签 3 三、自...
使用jsp自定义标签的功能实现权限的控制。(如果用户没有某个模块的删除权限,就不现实这个删除按钮) 在整个项目中所有的页面都可以引入自定义的标签去做到权限的控制。 自定义标签文件 删除 可以控制页面中的每...
java jsp自定义标签非常好用大家下载学习java jsp自定义标签非常好用大家下载学习java jsp自定义标签非常好用大家下载学习java jsp自定义标签非常好用大家下载学习java jsp自定义标签非常好用大家下载学习java jsp...
在网上学习jsp自定义标签的时候, 出现了异常, 在网上寻找了好久, 都没有找到合适的答案, 自己通过摸索最后成功, 分享给大家, 希望能够帮助到你, 自定义标签不能放在java Project中, 只能在java web Project中才可以.
创建JSP自定义标签.doc 创建JSP自定义标签.doc 创建JSP自定义标签.doc
JSP自定义标签。在自定义标签的起始和结束标签之间的部分为标签体(Body)。 标签处理程序类:定义标签的行为,并在JSP引擎遇到自定义标签时调用执行。 标签库描述符(TLD)文件:描述标签库的XML文档,向JSP引擎...
jsp、jstl自定义标签实现的分页,实现的还是比较好的,没有在request、session等范围保存过数据,在pageContext范围内保存过集合的数据, 实现的方法还是比较简单的,适用性还是比较广的,我是实在是没分了,平时也...
jsp自定义标签库实现数据列表显示,包括代码,文档,希望对大家有帮助.
JSP自定义Table标签demo JSP自定义Table标签demo JSP自定义Table标签demo
是用jsp自定义标签编写的一个非常不错的分页,扩展性非常不错,不依赖于数据库。
jsp自定义迭代标签 jsp自定义迭代标签
非常简单明了的hellword jsp自定义标签讲解.