JSPとサーブレットの開発から、私は、bodylessカスタムタグをJSPページに挿入する際にいくつか問題があります。行わどのようにJSPタグ拡張でこの問題を解決するには?
ステップ:
- を書き、
WEB-INF/classes
ディレクトリ(TagSupport
を拡張)正常CustomTag.javaコンパイル。 - 非常に単純な例で、TLDファイルを定義しました。
<body-content>
には、ボディレスタグの値がempty
です。 - JSPページのタグを、
/WEB-INF/tlds/site.tld
ファイルを指すtaglibディレクティブとともに使用しました。 念頭に置いて、このすべてで
、あなたはTomcatは、このようなエラーを送信している理由の手掛かりを持っています:
CustomTagがタイプにあなたのために事前に
おかげで解決できませんあなたが詳細が必要かどうか質問してください。
ここに私のTLDファイルです:
<?xml version="1.0" encoding="ISO-8859-1"?>
< ! 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>customlib</short-name>
<description>Custom library.</description>
<tag>
<name>header</name>
<tag-class>HeaderTag</tag-class>
<body-content>empty</body-content>
<description>...</description>
</tag>
</taglib>
JSPファイル:
<%@ page contentType="text/html; charset=UTF-8" language="java" import="java.sql.*" errorPage="" %>
<%@ taglib uri="/WEB-INF/tlds/customlib.tld" prefix="clib" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org /TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>title</title>
</head>
<body>
<clib:header />
</body>
</html>
HeaderTagクラス:
は、
タグクラスをパッケージに入れる必要があります。 – kdgregory