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 加载类”告诉我 Tomcat 没有找到您在 jsp 中引用的一个或多个类文件。您确定您的 mysql.Forum 类在类路径中(在本例中为 WEB-INF/classes/mysql/Forum.class)吗?

此外,您似乎正在尝试从您的 scriptlet 调用 getMyTopics() ,就好像它是 Forum 类的静态方法一样,但它不是静态的。

于 2009-05-22T15:38:28.153 回答
1

尝试改变

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

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