天天看點

JSP自定義标簽與樹導航的使用

鍦╩ain.jsp涓紝瀵煎叆dtree.js鍜宒tree.css锛岀洿鎺ヤ嬌鐢ㄨ嚜瀹氫箟鏍囩<s:TreeChk />锛屼唬鐮佸涓嬶細

<%@ page language="java" contentType="text/html;charset=GBK"%>

<%@ include file="/inc/head.inc"%>

<html>

聽<head>

聽聽<title>left tree</title>

聽聽<link rel="stylesheet" href="css/dtree.css" target="_blank" rel="external nofollow" type="text/css" />

聽聽<script>

聽聽聽contextPath = "<%=contextPath%>/";

聽聽</script>

聽聽<script type="text/javascript" src="js/dtree.js"></script>

聽</head>

聽<body style="padding:0px;">

聽聽<table cellpadding=0 cellspacing=0 border-right:#e3e3e3 solid 2px; font-size:12px; background:#FFFFFF; color:#000000;" valign=top>

聽聽聽聽聽<div style="width:195px; height:100%; overflow:auto; background:#fff; border-top:#e3e3e3 solid 2px;">

聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 聽<p>

聽聽聽聽聽聽聽<a href="javascript: d.openAll();" target="_blank" rel="external nofollow" >灞曞紑</a> | <a href="javascript: d.closeAll();" target="_blank" rel="external nofollow" >鎶樺彔</a>

聽聽聽聽聽聽</p>

聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 聽<s:TreeChk />

聽聽聽聽聽</div>

聽聽聽聽</td>

聽聽聽聽

聽聽聽聽<td valign=top>

聽聽聽聽聽<iframe framespacing="0" frame Scrolling="auto" width=100% height=100% name="mywin" id="IFRM_LEFT_BOTTOM" src="new.html"></iframe>

聽聽聽聽</td>

聽聽聽</tr>

聽聽</table>

聽聽

聽</body>

</html>

鍏朵腑head.inc涓紝瀵煎叆鏍囩<%@ taglib uri="/WEB-INF/commons" prefix="s" %>

锛屼唬鐮佸涓嬶細

<%@ page language="java" contentType="text/html;charset=GBK"%>

<%@ taglib uri="/WEB-INF/commons" prefix="s" %>

<%

聽String contextPath = request.getContextPath();

%>

<script type="text/javascript" language="javascript">

聽var contextPath = "<%= contextPath %>";

</script>

鍦?web-inf/commons涓嬶紝瀹氫箟浜嗘敼鏍囩锛屽涓嬶細

<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE taglib

聽聽聽聽聽聽聽 PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN"

聽聽聽聽聽聽聽 "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">

<taglib>

聽<tlibversion>1.0</tlibversion>

聽<jspversion>1.2</jspversion>

聽<shortname></shortname>

聽<tag>

聽聽<name>TreeChk</name>

聽聽<tagclass>

聽聽聽common.tree.TreeChkTag

聽聽</tagclass>

聽聽<bodycontent>JSP</bodycontent>

聽聽<info>Check if the user have the audit's purview.</info>

聽</tag>

</taglib>

鍦ㄨtld鏂囦歡涓紝瀹氫箟浜嗘爣绛炬墍鎸囧畾鐨刢lass鏂囦歡锛宑ommon.tree.TreeChkTag

TreeChkTag.java鐨勫唴瀹瑰涓嬶細

package common.tree;

import javax.servlet.jsp.tagext.TagSupport;

public class TreeChkTag extends TagSupport {

聽public int doStartTag() {

聽聽return SKIP_BODY;

聽}

聽public int doEndTag() {

聽聽try {

聽聽聽pageContext.getOut().print("<script type=/"text/javascript/"> /n");

聽聽聽pageContext.getOut().print(" target = /"mywin/";");

聽聽聽pageContext.getOut().print(" d = new dTree('d');");

聽聽聽StringBuffer s = new StringBuffer();

聽聽聽//杩欐槸椤剁駭鑿滃崟

聽聽聽s.append(" d.add('").append("1").append("',").append("-1");

聽聽聽s.append(",'").append("椤剁駭鑿滃崟").append("','");

聽聽聽s.append("');");

聽聽聽//杩欎釜鏄竴绾ц彍鍗?聽聽聽s.append(" d.add('").append("10").append("',").append("1");

聽聽聽s.append(",'").append("涓€绾ц彍鍗?).append("','");

聽聽聽s.append("');");

聽聽聽//杩欎釜鏄簩绾ц彍鍗?聽聽聽s.append(" d.add('").append("100").append("',").append("10");

聽聽聽s.append(",'").append("浜岀駭鑿滃崟").append("','");

聽聽聽s.append("http://www.baidu.com").append("','',target);");

聽聽聽

聽聽聽//杩欎釜鏄彟涓€涓竴绾ц彍鍗?甯﹂摼鎺?聽聽聽s.append(" d.add('").append("11").append("',").append("1");

聽聽聽s.append(",'").append("涓€绾ц彍鍗?).append("','");

聽聽聽s.append("http://www.google.com").append("','',target);");

聽聽聽

聽聽聽//杩欎釜鏄彟涓€涓簩绾ц彍鍗?甯﹂摼鎺?聽聽聽s.append(" d.add('").append("101").append("',").append("11");

聽聽聽s.append(",'").append("浜岀駭鑿滃崟").append("','");

聽聽聽s.append("http://www.qq.com").append("','',target);");

聽聽聽

聽聽聽pageContext.getOut().print(s.toString());

聽聽聽pageContext.getOut().print("document.write(d);</script>");

聽聽} catch (Exception e) {

聽聽聽return SKIP_BODY;

聽聽}

聽聽return EVAL_PAGE;

聽}

}

姝ゅ锛岃繕闇€瑕佸湪椤圭洰涓嬬殑web.xml鏂囦歡涓紩鍏ヨ鏍囩锛屽叿浣撳唴瀹瑰涓嬶細

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app >

聽 <taglib id="TagLibRef_1101353531375">

聽聽聽聽聽聽聽 <taglib-uri>/WEB-INF/commons</taglib-uri>

聽聽聽聽聽聽聽 <taglib-location>

聽聽聽聽聽聽聽聽聽聽聽 /WEB-INF/custom-tld/commons.tld

聽聽聽聽聽聽聽 </taglib-location>

聽聽聽 </taglib>

</web-app>

閲嶅湪浜庤嚜瀹氫箟鏍囩鐨勪嬌鐢紝鍏蜂綋dtree鐨勫唴瀹瑰氨涓嶈創浜嗐€偮?