我是靠谱客的博主 会撒娇乌龟,最近开发中收集的这篇文章主要介绍jsp自定义标签switch、case、default ---尚未写完,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

定义switch

package tag;

import javax.servlet.jsp.JspTagException;
import javax.servlet.jsp.tagext.TagSupport;

public class Switch extends TagSupport {
private boolean subtagsuccess;

public Switch(){
subtagsuccess=false;a
}

/*
* 当遇到switch标签时,所有的子标签都不执行。
* @see javax.servlet.jsp.tagext.TagSupport#doStartTag()
*/
public int doStartTag()throws JspTagException{
subtagsuccess=false;
return EVAL_BODY_INCLUDE;
}

/*
* 该方法有子标签调用,表示是否可以执行自身的标签。
*/
public synchronized boolean getpermission(){

return (!subtagsuccess);
}

public synchronized boolean subtagsuccessed(){
return subtagsuccess=true;
}

/*
* 销毁到该方法。
* @see javax.servlet.jsp.tagext.TagSupport#release()
*/
public void release(){
subtagsuccess=false;
}
}






定义case

package tag;

import javax.servlet.jsp.JspTagException;
import javax.servlet.jsp.tagext.Tag;
import javax.servlet.jsp.tagext.TagSupport;

public class Case extends TagSupport{
private boolean cond;

public Case(){
cond=false;
}
public void release(){
cond=false;
}

public void setCond(boolean cond){
this.cond=cond;
}

public int doStartTag()throws JspTagException{
Tag parse=getParent();
/*
* 判断是否可以执行本身。
*/
if(!((Switch)parse).getpermission())
return SKIP_BODY;
/*
* 如果条件是真的,通知父类。表示已经有了一个符合条件的。
* 否则,忽略标签体。
*/
if(cond){
((Switch)parse).subtagsuccessed();
return EVAL_BODY_INCLUDE;
}
else{
return SKIP_BODY;
}
}
}




定义default



package tag;

import javax.servlet.jsp.JspTagException;
import javax.servlet.jsp.tagext.Tag;
import javax.servlet.jsp.tagext.TagSupport;

public class Default extends TagSupport {
public void Default(){
}

public int doStartTag()throws JspTagException{

//return 0;
Tag defaultcase=getPareant();
if(!((Switch)defaultcase).getpermission())
return SKIP_BODY;

((Switch)defaultcase).subtagsuccessed();
return EVAL_BODY_INCLUDE;

}

}








tld文件



<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE taglib
PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"
"http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
<taglib>
<tlib-version>1.0</tlib-version>
<jsp-version>1.2</jsp-version>
<short-name>swicth</short-name>
<display-name>simpley swicth</display-name>
<description>simple jsp tag3 </description>


<tag>
<name>swicth</name>
<tag-class>tag.Switch</tag-class>
<body-content>jsp</body-content>
<description>simple jsp tag 03</description>

</tag>


<tag>
<name>case</name>
<tag-class>tag.Case</tag-class>
<body-content>jsp</body-content>
<description>simple jsp tag 03</description>

<attribute>
<name>cond</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
<!-- true表示可以用接受表达式;false:反之。 -->
</attribute>
</tag>


<tag>
<name>default</name>
<tag-class>tag.Default</tag-class>
<body-content>jsp</body-content>
<description>simple jsp tag 03</description>

</tag>
</taglib>








webx.xml文件



<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">



<jsp-config>
<taglib>
<taglib-uri>/jsptag3.tld</taglib-uri>
<taglib-location>/WEB-INF/jsptag3.tld</taglib-location>
</taglib>
</jsp-config>


<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>

最后

以上就是会撒娇乌龟为你收集整理的jsp自定义标签switch、case、default ---尚未写完的全部内容,希望文章能够帮你解决jsp自定义标签switch、case、default ---尚未写完所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(47)

评论列表共有 0 条评论

立即
投稿
返回
顶部