Как получить файл JSP, чтобы найти компонент, который я пытаюсь использовать в Netbeans - PullRequest
1 голос
/ 09 июля 2010

Я думаю, что я делаю что-то ужасное неправильно здесь.

Я никогда раньше не использовал NetBeans и никогда ничего не делал с JavaServer, хотя я программировал на Java. В netBeans в веб-проекте я создал пакет под названием DonationCalc с файлом DonationCalc.java, содержащим мой компонент. В файле JSP у меня есть следующее:

<%@page import="DonationCalc.*" %> [...] <jsp:useBean id="Calc" class="DonationCalc" />

Однако я получаю «string: ///DonationCalc_jsp.java: 6: пакет DonationCalc не существует»

Я читал в другом месте о классах, идущих под WEB-INF / Classes, но у меня нет такой папки, и NetBeans настаивает на том, чтобы любые новые пакеты помещались в «Исходные пакеты».

Что мне нужно добавить, чтобы помочь моему файлу .jsp найти бин? Путь к каталогу какой-то? Или я должен положить вещи в другом месте для начала?

ETA: Очевидно, проблема в том, что он был настроен для Glassfish вместо Tomcat. Создание нового проекта под tomcat, однако, создало такое множество проблем, что я отказался от всех форм Java, включая островное государство и все напитки с кофеином.

1 Ответ

1 голос
/ 09 июля 2010

Здесь вам не нужен @page import, поскольку он импортируется только в область действия scriptlet , а не в область taglib. Вы не хотите использовать скриптлетов , поэтому забудьте об этом совсем. В jsp:useBean class необходимо указать полное имя класса , включая имя пакета.

<jsp:useBean id="calc" class="com.example.DonationCalc" />

Кстати:

Я читал в другом месте о классах, идущих под WEB-INF / Classes, но у меня нет такой папки, и NetBeans настаивает на том, чтобы любые новые пакеты помещались в «Исходные пакеты».

Это правда. IDE, как Netbeans и Eclipse, автоматически собирает и компилирует исходные файлы в нужные места. Вам не нужно беспокоиться об этом. Однако обязательно знать, когда вы хотите понять, как это работает «под капотами» и / или хотите (иметь возможность) строить с использованием инструментов командной консоли вместо IDE.

...