概述
前面我们开发了防盗链标签,接下来开发一个我们在其他框架中经常见到的标签-----if标签。
我们通过自己开发if标签,来理解sun公司的<c:if>标签。
我们自己开发的if标签的效果如下:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@taglib uri="/example" prefix="z" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Hello</title>
</head>
<body>
<z:if test="${user!=null}">
欢迎您!(*^__^*)
</z:if>
<z:if test="${user==null}">
您没有登录!~~(>_<)~~
</z:if>
</body>
</html>
首先我们创建一个标签处理器类:
然后在这个处理器类中写我们的if逻辑:
package org.zyg.web.exampleTag;
import java.io.IOException;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.tagext.SimpleTagSupport;
public class IFTag extends SimpleTagSupport {
private boolean test;
public void setTest(boolean test) {
this.test = test;
}
@Override
public void doTag() throws JspException, IOException {
if(test){
this.getJspBody().invoke(null);
}
}
}
是不是很简单,只要判断test的真假值,就确定标签体是否显示。
下面在z.tld配置文件中注册这个标签:
<tag>
<name>if</name><!-- 标签名 -->
<tag-class>org.zyg.web.exampleTag.IFTag</tag-class>
<body-content>scriptless</body-content><!-- 有无标签体(单标签还是成对标签) -->
<attribute>
<name>test</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
然后重启Web项目,测试:
很明显我们的用户没有登录,所以没有用户信息,当然是没有登录。
我们接下来模拟一下用户登录:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@taglib uri="/example" prefix="z" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Hello</title>
</head>
<body>
<%
session.setAttribute("user","zyg");
%>
<z:if test="${user!=null}">
欢迎您!(*^__^*)
</z:if>
<z:if test="${user==null}">
您没有登录!~~(>_<)~~
</z:if>
</body>
</html>
这样再来访问,用户是登录的,所以显示:
以上就是if标签的开发过程。
转载请注明出处:http://blog.csdn.net/acmman/article/details/51178736
最后
以上就是丰富大船为你收集整理的【自定义标签开发】07-标签案例-开发if标签的全部内容,希望文章能够帮你解决【自定义标签开发】07-标签案例-开发if标签所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复