2015-04-24 6 views
0

Я написал код Java, который может загружать некоторые данные таблицы с сервера sql. Он отлично работает, когда он загружается как проект Java и состоит из 4 классов: Server.java, Publication.java, Volume.java, SQLPublicationMapper.java. (Третий не используется.)Использовать собственный класс в jsp

Я пытаюсь использовать эти пользовательские классы в проекте 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

As насколько я могу судить, первая ошибка связана с тем, что Publication.class недоступен. Второй же для SQLPublicationMapper (дважды?). Третий из-за некоторой ошибки, импортирующей функциональную библиотеку java (полностью Lazy). Эта ошибка не возникает, когда я запускаю только java.

Соответствующие файлы jar включены в настройки buildPath.

Любые идеи?

ответ

2

Попробуйте импортировать свой собственный класс в страницу JSP.

Из моего понимания плохо использовать код java в jsp, но если бы я хотел, я бы импортировал пользовательский класс и использовал его.

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

Вы должны использовать оператор импорта:

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

Не работает. Использование, например, '<% @ page import =" dk.au.hum.imv.persistence.db. *, java.sql. *, java.util.ArrayList, com.googlecode.totallylazy.numbers.Numbers. *, Publication.java» %>' просто выдает ошибку „Несколько аннотаций, найденные на этой линии: \t - Публикация импорта не может быть решена \t - Публикация импорта не может быть решена“ Я также попытался просто „Публикация“, «src/Publication» и «src/Publication.java». – Deleet

+0

Какой пакет у вас есть? Это в исходной папке вашего проекта? Обязательно укажите, какой пакет он находится ... – brso05

+0

@Deleet убедитесь, что он в пакете. – brso05

Смежные вопросы