※ ChatGPTを利用し、要約された質問です(原文:JSP jsp:usebean で総称型クラスを使うには)
JSP jsp:usebeanで総称型クラスを使用する方法
このQ&Aのポイント
JSPでプログラムを書いている際に、jsp:usebeanを使って総称型クラスを使用したい場合、正常に動作しない問題が発生します。
Tomcat 5.5.27およびJDK 1.6.0_07の環境で特別なコンパイルオプションを指定せずに試しています。
JSPのbeanには総称型クラスを使用することはできません。
JSP jsp:usebean で総称型クラスを使うには
お世話になります。
JSPでプログラムを書いています。
そこでjsp:usebeanを使っているのですが、そのクラスに以下のように総称型クラスを使用したいのです。
> <%@page import="java.util.Vector"%>
> <jsp:useBean id="vec" scope="application" class="java.util.Vector<String>"/>
で、warファイルまではできるのですが、実行するとブラウザ上に以下のようなエラーが表示されます。
> org.apache.jasper.JasperException: /index.jsp(4,0) useBeanのクラス属性 java.util.Vector<String> の値が無効です
> org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)
> org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
> org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:148)
> org.apache.jasper.compiler.Generator$GenerateVisitor.visit(Generator.java:1178)
JSPのbeanには総称型クラスを使うことができないのでしょうか。
環境は以下の通りです。
サーバー:Tomcat 5.5.27
jdk: 1.6.0_07
特別なコンパイルオプションなどは指定していません。
よろしくお願いいたします。
お礼
ありがとうございます、これですね? <jsp:useBean id="vec" scope="application" type="java.util.Vector<String>" class="java.util.Vector"/>
補足
ありがとうございます。早速やってみました。 3: <%@page import="java.util.Vector"%> 4: <jsp:useBean id="vec" scope="application" type="java.util.Vector<String>"/> すると、、、 > java.lang.InstantiationException: bean vec not found within scope > org.apache.jsp.index_jsp._jspService(index_jsp.java:50) うーん、どこか書き方が間違っているのでしょうが、、、