在jsp中使用自定义类

时间:2015-04-24 13:54:28

标签: java jsp

我编写了一些可以从sql server下载一些表数据的java代码。它作为一个java项目加载时工作正常,由4个类组成:Server.java,Publication.java,Volume.java,SQLPublicationMapper.java。 (第三个没有使用。)

我正在尝试在jsp项目中使用这些自定义类。我已经让jsp项目与tomcat一起工作并且它在浏览器中工作,但是我找不到一种方法来使它使用我的自定义类。他们应该在哪里?他们需要进口吗?

我尝试将类文件放在:src / jsp,WebContent,WebContent \ src中。这些似乎都不起作用。

我花了好几个小时坚持这个问题和搜索,但没有找到适用的东西,所以我来到这里。

index.jsp文件是:

<?xml version="1.0" encoding="ISO-8859-1" ?>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Dynamisk jsp side</title>
</head>
<body>
<h1>En test af java til at starte med</h1>
Klokken er (eller var sidste gang du trykkede): <%= new java.util.Date() %><br>
Jeg tæller til 20: <br> <% 
int x = 1;
while( x <= 20 ) {
%>
<p>X er lig <%= x %></p>
<%   x++;
} %>

<h1>Jeg outputter også hele databasen:</h1>

<%@ page import="dk.au.hum.imv.persistence.db.*,
java.sql.*,
java.util.ArrayList,
com.googlecode.totallylazy.numbers.Numbers.*"
%>

<%
//fetch all publications
System.out.println("All publications");
ArrayList<Publication> publications = SQLPublicationMapper.getAllPublications();
System.out.println("First 5 publications are:");
for (Number idx : range(1,5)) {
    System.out.println(publications.get((int) idx).title+" by "+publications.get((int) idx).author);
}
System.out.println("Out of a total of "+publications.size());
%>
</body>
</html>

Eclipse EE会出现以下错误: 第32行:无法将出版物解析为某种类型 在此行找到多个注释:      - 无法解析SQLPublicationMapper      - 无法解析SQLPublicationMapper 第34行:方法范围(int,int)未定义类型  __2F_jsp_2F_WebContent_2F_index_2E_jsp

据我所知,第一个错误是由于Publication.class不可用。 SQLPublicationMapper的第二个相同(两次?)。 第三个是因为导入函数java(totallyLazy)库时出现了一些错误。当我只运行java本身时,不会发生此错误。

相应的jar文件包含在buildPath设置中。

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

尝试将自定义类导入jsp页面。

根据我的理解,在jsp中使用java Code是不好的,但如果我想,我会导入自定义类并使用它。

<%@ page import="com.whatkai.framework.custom.StackController" %>

答案 1 :(得分:0)

您应该使用import语句:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1" import="com.whatever.Publication, com.whatever.Server"%>