------------------------------
package taglib;
import java.io.IOException;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.tagext.TagSupport;
public class HelloTag extends TagSupport{
public int doStartTag() throws JspException{
try{
pageContext.getOut().println("Hello");
}catch(IOException e){
throw JspException(e);
}
return SKIP_BODY;
}
}
---------------------------------
これを、javacでコンパイルすると(配置は問題ないです)
javax.servlet.jspは見つかりません。とエラーが出ます。J2SEしか入れていなかったので、J2EEをインストールしましたが(Java 5.0です)、やはり同じコンパイルエラーが出ます。どなたか教えてください。
リンク先とはちょっと違うけど。
タグハンドラをコンパイルするにはservlet.jarをクラスパスに追加する必要があります。servlet.jarはTomcatのフォルダの下のcommon\libの下に入っています。
コンパイル時にクラスパスの設定した?
javax.servlet.jspパッケージ以下のクラスは、ServletAPIなので、ServletAPIを含んでいるjarファイルがクラスパスに入っていないとコンパイルできません。
HelloTag.javaの内容はjavax.servlet.jspパッケージのクラスを必要としているので、Tomcatであればcommon/lib以下に入っているjsp-api.jarをクラスパスに入れればコンパイルが通るかと思います。
ただ、コンパイルは通っても動作させるためにはサーブレットコンテナが必要となるため、Tomcatなりにデプロイする必要があります。
コメント(0件)