2016-05-24 5 views
0

JSPでカスタムタグを試しています。私はチュートリアルに続いて、このコードになってしまった:TLD、Taglibs、属性設定メソッドに問題があります

Taglibのインポート:私は私のタグを実装ここ

<%@taglib prefix="me" uri="/WEB-INF/tlds/myTLD.tld" %> 

は:

<body> 
    <h1>Testing custom tags</h1> 
    <me:MiTag titulo="Some title"> 
     A test text 
    </me:MiTag> 
</body> 

これは私のTLDは、NetBeansによって生成された(ように見えるものです):

<?xml version="1.0" encoding="UTF-8"?> 
<taglib version="2.1" 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-jsptaglibrary_2_1.xsd"> 
    <tlib-version>1.0</tlib-version> 
    <short-name>mytld</short-name> 
    <uri>/WEB-INF/tlds/myTLD</uri> 
    <tag> 
    <name>MiTag</name> 
    <tag-class>MiTag</tag-class> 
    <body-content>scriptless</body-content> 
    <attribute> 
     <name>titulo</name> 
     <required>true</required> 
     <rtexprvalue>false</rtexprvalue> 
     <type>java.lang.String</type> 
    </attribute> 
    </tag> 
</taglib> 

そしてこれは、私のタグハンドラクラスである:

public class MiTag extends SimpleTagSupport { 

    private String titulo; 

    @Override 
    public void doTag() throws JspException { 
     JspWriter out = getJspContext().getOut(); 

     try { 
      out.println("<h3>"+titulo+"</h3>"); 
      out.println(" <blockquote>"); 

      JspFragment f = getJspBody(); 
      if (f != null) { 
       f.invoke(out); 
      } 
      out.println(" </blockquote>"); 
     } catch (java.io.IOException ex) { 
      throw new JspException("Error in MiTag tag", ex); 
     } 
    } 

    /** 
    * @param titulo the Titulo to set 
    */ 
    public void setTitulo(String titulo) { 
     this.titulo = titulo; 
    } 


} 

まあ、このになります。しかし...:

enter image description here

はここに何が間違っているのですか?

答えて

1

私は間違っていたことを認識しました。タグハンドラクラスはパッケージに含まれていませんでした。私はそれが働き始めた...パッケージ(例につき、「タグ」)にクラスを入れ、

<tag-class>tags.MiTag</tag-class> 

によってそれに言及したら!

関連する問題