源码网,源码论坛,源码之家,商业源码,游戏源码下载,discuz插件,棋牌源码下载,精品源码论坛

 找回密码
 立即注册
查看: 313|回复: 11

[JSP编程] jsp自定义标签之ifelse与遍历自定义标签示例

[复制链接]

7万

主题

861

回帖

32万

积分

论坛元老

Rank: 8Rank: 8

积分
329525
发表于 2014-3-24 16:56:22 | 显示全部楼层 |阅读模式
这篇文章主要介绍了jsp自定义标签之ifelse与遍历自定义标签,需要的朋友可以参考下 第一个示例:
简单的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的代码,太多,我放到资源里了,有必要的话可以下载下来,仅供参考。
回复

使用道具 举报

0

主题

1万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2023-1-21 01:17:17 | 显示全部楼层
哈哈哈哈哈哈
回复 支持 反对

使用道具 举报

4

主题

1万

回帖

60

积分

注册会员

Rank: 2

积分
60
发表于 2023-3-20 04:54:01 | 显示全部楼层
搞个免费的用用
回复 支持 反对

使用道具 举报

3

主题

1万

回帖

50

积分

注册会员

Rank: 2

积分
50
发表于 2023-3-25 22:15:58 | 显示全部楼层
而快乐你们快乐马年快乐
回复 支持 反对

使用道具 举报

0

主题

1万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2023-8-31 11:11:11 | 显示全部楼层
呵呵呵呵呵呵呵a
回复 支持 反对

使用道具 举报

27

主题

1万

回帖

331

积分

中级会员

Rank: 3Rank: 3

积分
331
发表于 2023-10-28 20:32:30 | 显示全部楼层
儿飞飞微风DVD谁vdsvd
回复 支持 反对

使用道具 举报

6

主题

1万

回帖

174

积分

注册会员

Rank: 2

积分
174
发表于 2024-6-14 11:35:18 | 显示全部楼层
啦啦啦啦啦啦啦啦!
回复 支持 反对

使用道具 举报

4

主题

1万

回帖

316

积分

中级会员

Rank: 3Rank: 3

积分
316
发表于 2024-7-9 11:59:55 | 显示全部楼层
还有什么好东西没
回复 支持 反对

使用道具 举报

1

主题

1万

回帖

207

积分

中级会员

Rank: 3Rank: 3

积分
207
发表于 2024-7-18 18:49:45 | 显示全部楼层
好人好人好人好人
回复 支持 反对

使用道具 举报

12

主题

1万

回帖

431

积分

中级会员

Rank: 3Rank: 3

积分
431
发表于 2024-8-6 05:05:23 | 显示全部楼层
源码源码源码源码源码源码源码源码源码源码源码源码源码
回复 支持 反对

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

手机版|小黑屋|网站地图|源码论坛 ( 海外版 )

GMT+8, 2024-9-21 03:32 , Processed in 0.263573 second(s), 45 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表