1

初めてdisplaytagを使用しようとしていますが、displaytagに問題があり、解決できないようです。解決策を探しましたが、インターネット上で何も見つかりませんでした。他のすべては機能していますが、機能していないのは唯一のものです。

かなり私はテーブルの単純な表示をしようとしています。

私が得るエラーは次のとおりです。

org.apache.jasper.JasperException: javax.servlet.ServletException: javax.servlet.jsp.JspException: org.apache.jasper.JasperException: Unable to load class for JSP

JSP ページは次のとおりです。

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://displaytag.sf.net" prefix="dt" %>

<%--<jsp:useBean id="ForumList" scope="session" class="mysql.Forum" />--%>

<% session.setAttribute( "test2", mysql.Forum.getMyTopics() ); %>

<dt:table name="sessionScope.test2" />

そして、本当に単純な私のクラス

package mysql;

import java.sql.*;
import java.sql.Connection;
import java.lang.*;
import javax.servlet.*;
import javax.servlet.http.*;


import javax.servlet.jsp.jstl.sql.Result;
import javax.servlet.jsp.jstl.sql.ResultSupport;

public class Forum {
    public Connection con = null;
    public Result myTopics = null;
    public MysqlBase mysql = new MysqlBase();


    public Result getMyTopics()
    {
        try
        {
            con = mysql.getConnection();
            Statement stmt = con.createStatement();
            ResultSet result = stmt.executeQuery("Select * from lawers_topics");
            myTopics = ResultSupport.toResult(result);

            con.close();
            stmt.close();
        }
        catch(Exception e)
        {
        }

        //request.setAttribute("MyTopics", this.myTopics);
        return this.myTopics;
    }
}

誰かが私を正しい方向に向けることができれば、本当に感謝しています。

編集:開発に NetBeans と Tomcat6.0 を使用していることを忘れていました。

4

3 に答える 3

1

テーブルに表示しようとしているオブジェクトを実装する必要はありませんjava.util.Listか?

Result必ずしもそうするわけではありません。

于 2009-05-22T15:27:52.970 に答える
1

「JSP のクラスをロードできません」というエラーは、JSP で参照している 1 つ以上のクラス ファイルが Tomcat で見つからないことを示しています。mysql.Forum クラスがクラスパス (この場合は WEB-INF/classes/mysql/Forum.class) にあることは確かですか?

さらに、フォーラム クラスの静的メソッドであるかのように、スクリプトレットから getMyTopics() を呼び出そうとしているようですが、静的ではありません。

于 2009-05-22T15:38:28.153 に答える
1

変更してみてください

<dt:table name="sessionScope.test2" />

<dt:table name="${test2}"/>
于 2009-05-22T16:34:05.107 に答える