2014-02-04 4 views
0

Я пытаюсь быстро освоить достойный уровень JSP для создания интерфейса. Я нашел, что кажется хорошим учебником по этому URL.Недопустимый атрибут класса JSP

Reference link

Следуя учебник к слову, на странице 35 он охватывает: GetProperty JSP действий. Я успешно создал файл TestBean.java и скомпилировал его для создания TestBean.class. Но то, что я обнаружил, было то, что в каталоге myappapps Tomcat не было папки с именем "WEB-INF" and so no directory "webapps\WEB-INF\classes\action", поэтому я сам добавил "WEB-INF\classes\action". Затем, когда я запускаю файл main.jsp браузер заявляет следующее сообщение об ошибке

«Значение атрибута useBean класса action.TestBean недействителен»

Что я делаю неправильно?

Вот код Java «TestBean.class»;

/* File: TestBean.java */ 

package action; 

public class TestBean { 

private String message = "No message specified"; 

public String getMessage() { 
    return(message); 
} 

public void setMessage(String message) { 
    this.message = message; 
} 

} 

А вот JSP "main.jsp" код

<html> 
<head> 
<title>Using JavaBeans in JSP</title> 
</head> 
<body> 
<center> 
<h2>Using JavaBeans in JSP</h2> 
<jsp:useBean id="test" class="action.TestBean" /> 
<jsp:setProperty name="test" property="message" value="Hello JSP..." /> 
<p>Got message....</p> 
<jsp:getProperty name="test" property="message" /> 
</center> 
</body> 
</html> 
+0

Вы должны поместить скомпилированный файл ('TestBean.class') в' webapps \ WEB-INF \ classes \ action'. –

+0

Привет. Спасибо за ответ. Я поместил подчиненный TestBean.class в каталог, который я создал в webapps \ WEB-INF \ classes \ action. – AJF

+0

Также убедитесь, что пакет правильный: 'package action; public class TestBean ... ' –

ответ

0

Я предполагаю, что вы работаете на затмение. Если Web-INF не создан, это означает, что вы не работаете в динамическом веб-проекте.

Перейти к новому в eclipse. Перейдите в раздел «Динамический веб-проект». Он создаст все ваши папки, необходимые для самого проекта JSP/WEB, включая Web-INF. Это приведет к потоку процесса.

Другой вариант - разместить файлы своего класса в требуемой папке, которая является довольно утомительной работой. Надеюсь, поможет.

+0

Привет, Спасибо за ответ. Я не использую Eclipse для этого. Просто используйте Notepad ++ и командную строку и браузер. – AJF

+0

Спасибо за обновление. Notepad ++ очень сложно использовать, учитывая, что он не дает вам желаемой среды для бесперебойной разработки. Я бы посоветовал вам перейти на любую IDE для бесплатной проблемы, чтобы вам не пришлось отслеживать ваши папки и все другие ненужные вещи. Для детального решения, пожалуйста, предоставьте свой источник здесь, чтобы я мог лучше проанализировать ваш код. – AngularHarsh

+0

Спасибо угловой суровой. Я опубликовал код для части, которая вызывает у меня проблемы, редактируя исходный вопрос. AJFarroll – AJF

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