如何写一个从数据库直接得到数据的自定义标签,然后在jsp页面用标签把数据显示出来。
如果有人写过类似的,可不可以自定义标签实现类的代码贴出来啊,万分感谢T-T自定义标签直接使用方法取出数据库中的某一个表的数据,页面使用此标签可以,把所有数据分页显示。说说...
如果有人写过类似的,可不可以自定义标签实现类的代码贴出来啊,万分感谢T-T
自定义标签直接使用方法取出数据库中的某一个表的数据,页面使用此标签可以,把所有数据分页显示。说说给个思路也可以的,谢啦 展开
自定义标签直接使用方法取出数据库中的某一个表的数据,页面使用此标签可以,把所有数据分页显示。说说给个思路也可以的,谢啦 展开
5个回答
展开全部
1,你要先在WEB-INF下建一个tld文件,比如说myTags.tld内容如下
<!DOCTYPE taglib
PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"
"http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
<taglib xmlns="http://java.sun.com/JSP/TagLibraryDescriptor">
<tlib-version>1.0</tlib-version>
<jsp-version>1.2</jsp-version>
<short-name>Simple Tags</short-name>
<tag>
<name>showNumForBbsTopic</name>
<tag-class>com.movie.mytag.ShowNumForBbsTopic</tag-class>
<body-content>jsp</body-content>
</tag>
</taglib>
2,然后按你配置中写的路径在com.movie.mytag包下建一个ShowNumForBbsTopic类,内容如下:
package com.movie.mytag;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.BodyContent;
import javax.servlet.jsp.tagext.BodyTagSupport;
public class ShowNumForBbsTopic extends BodyTagSupport{
public void setBodyContent(BodyContent bc)
{
super.setBodyContent(bc);
}
public int doAfterBody()
{
try
{
BodyContent body = super.getBodyContent();
String bodystring = body.getString();//*这里可以取到你页面上要传近来的内容*
//这里做你的操作......
JspWriter out = body.getEnclosingWriter();
out.print("这里写你需要输出的内容");
} catch(Exception e)
{
e.printStackTrace();
}
return EVAL_PAGE;
}
}
3.你页面上需要用这个标签时在页面头部加入下面这句话
<%@ taglib uri="WEB-INF/myTags.tld" prefix="my" %>//my是你的别名
页面中要使用ShowNumForBbsTopic时:
<my:showNumForBbsTopic><bean:write name="HelpForReplyList" property="currPage"/></my:showNumForBbsTopic>
<bean:write name="HelpForReplyList" property="currPage"/>所代表的值就别刚才**注释的那句话接收到了
方法就是这样了,至于你想如何进行操作,那就看你自己怎么实现了。
<!DOCTYPE taglib
PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"
"http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
<taglib xmlns="http://java.sun.com/JSP/TagLibraryDescriptor">
<tlib-version>1.0</tlib-version>
<jsp-version>1.2</jsp-version>
<short-name>Simple Tags</short-name>
<tag>
<name>showNumForBbsTopic</name>
<tag-class>com.movie.mytag.ShowNumForBbsTopic</tag-class>
<body-content>jsp</body-content>
</tag>
</taglib>
2,然后按你配置中写的路径在com.movie.mytag包下建一个ShowNumForBbsTopic类,内容如下:
package com.movie.mytag;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.BodyContent;
import javax.servlet.jsp.tagext.BodyTagSupport;
public class ShowNumForBbsTopic extends BodyTagSupport{
public void setBodyContent(BodyContent bc)
{
super.setBodyContent(bc);
}
public int doAfterBody()
{
try
{
BodyContent body = super.getBodyContent();
String bodystring = body.getString();//*这里可以取到你页面上要传近来的内容*
//这里做你的操作......
JspWriter out = body.getEnclosingWriter();
out.print("这里写你需要输出的内容");
} catch(Exception e)
{
e.printStackTrace();
}
return EVAL_PAGE;
}
}
3.你页面上需要用这个标签时在页面头部加入下面这句话
<%@ taglib uri="WEB-INF/myTags.tld" prefix="my" %>//my是你的别名
页面中要使用ShowNumForBbsTopic时:
<my:showNumForBbsTopic><bean:write name="HelpForReplyList" property="currPage"/></my:showNumForBbsTopic>
<bean:write name="HelpForReplyList" property="currPage"/>所代表的值就别刚才**注释的那句话接收到了
方法就是这样了,至于你想如何进行操作,那就看你自己怎么实现了。
展开全部
首先你了解标签的原理
通过页面定义的标签里的参数传到实际实现他的类里 然后类根据这几个参数进行操作 实际上也就是在类里利用JAVA语言写HTML代码而已 你自己可以尝试下
通过页面定义的标签里的参数传到实际实现他的类里 然后类根据这几个参数进行操作 实际上也就是在类里利用JAVA语言写HTML代码而已 你自己可以尝试下
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
继承之TagSupport, int doAfterBody()
Default processing for a body.
int doEndTag()
Default processing of the end tag returning EVAL_PAGE.
int doStartTag()
覆盖这些方法,具体看你自己需要覆盖哪个,方法名是你的依据,在一个tld文件里头描述你的标签信息,其实是个xml文件,其实就是指定类,以及一些类的属性值等,web.xml添加你的tld文件描述,jsp页面里头<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>类似于这样的使用
敲半天字镇麻烦
Default processing for a body.
int doEndTag()
Default processing of the end tag returning EVAL_PAGE.
int doStartTag()
覆盖这些方法,具体看你自己需要覆盖哪个,方法名是你的依据,在一个tld文件里头描述你的标签信息,其实是个xml文件,其实就是指定类,以及一些类的属性值等,web.xml添加你的tld文件描述,jsp页面里头<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>类似于这样的使用
敲半天字镇麻烦
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是可以的,其实是很简单的,你可以百度HI我,我给你个示例代码,包括tld是运行原理。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
23654412598456235356555454525565544266858975659695414125635255698555654456
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询