jsp自定义标签之ifelse与遍历自定义标签示例

所属分类: 网络编程 / JSP编程 阅读数: 785
收藏 0 赞 0 分享
第一个示例:
简单的jsp自定标签获取内容:
首先创建一个jsp实例类然后继承SimpleTagSupport类
然后实现父类的doTag()方法
在这个方法里获取标签体里的内容this.getJspBody();
返回的是JspFragment 类,根据这个类对象调用invoke(this.getJspContext().getOut());
这个方法里面也可以写空,所表达的意思也是输出到浏览器;
复制代码 代码如下:

public class SimpleDmeo1 extends SimpleTagSupport {
@Override
public void doTag() throws JspException, IOException {
JspFragment js =this.getJspBody();
js.invoke(null);
}
}

然后在写tld文件标签库描述文件,和jsp文件,这些都较为简单
如果不想执行某个内容就抛出异常
throw new skipPageException();和面内容就不会显示
接下来是一个带属性的jsp自定义标签文件
复制代码 代码如下:

public class SimpleDmeo1 extends SimpleTagSupport {
private int counts;
public void setCounts(int counts) {
this.counts = counts;
}
@Override
public void doTag() throws JspException, IOException {
JspFragment js =this.getJspBody();
for(int i=0;i<counts;i++){ //循环获取
js.invoke(null);
}
}

}
<description>A tag library exercising SimpleTag handlers.</description>
<tlib-version>1.0</tlib-version>
<short-name>c</short-name>前缀名
<uri>http://www.csdn.com</uri>
<tag>
<name>demo</name>
<tag-class>com.csdn.simple.SimpleDmeo1</tag-class>
<body-content>scriptless</body-content>
<attribute>
<name>counts</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>

然后再jsp文件 中写出内容;
复制代码 代码如下:

<hbsi:demo counts="3">aaaaaaa<br/></hbsi:demo> //输出三编
JspFragment js = this.getJspBody();
StringWriter jw = new StringWriter();
js.invoke(jw);
String s = jw.toString().toUpperCase();
JspWriter out =this.getJspContext().getOut();
for(int i=0;i<counts2;i++){
out.print(s);
}
}

这是转成大写的代码,其他的都一致;
关于if else的代码,太多,我放到资源里了,有必要的话可以下载下来,仅供参考。
更多精彩内容其他人还在看

JSP session配置对web应用的影响

这篇文章主要介绍了JSP session配置对web应用的影响的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

JSP开发中在spring mvc项目中实现登录账号单浏览器登录

这篇文章主要介绍了JSP开发中在spring mvc项目中实现登录账号单浏览器登录的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

利用JSP session对象保持住登录状态

这篇文章主要为大家详细介绍了如何利用JSP session对象保持住登录状态,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

jsp输出所有请求头的名称方法

下面小编就为大家带来一篇jsp输出所有请求头的名称方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

JSP 自定义注解及记录操作日志

这篇文章主要介绍了JSP 自定义注解及记录操作日志的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

JSP Struts过滤xss攻击的解决办法

这篇文章主要介绍了JSP Struts过滤xss攻击的解决办法的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

Spring AOP切面解决数据库读写分离实例详解

这篇文章主要介绍了Spring AOP切面解决数据库读写分离实例详解的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

Hibernate识别数据库特有字段实例详解

这篇文章主要介绍了Hibernate识别数据库特有字段实例详解的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

详解 hibernate mapping配置

这篇文章主要介绍了,每个hibernate只会启动的时候引入一个文件,那就是:hibernate.cfg.xml mapping需要我们在hibernate中引入, <mapping resource="com/hibernate/test/hibernate_I
收藏 0 赞 0 分享

JSP spring boot / cloud 使用filter防止XSS

这篇文章主要介绍了JSP spring boot / cloud 使用filter防止XSS的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多