2013-04-08 3 views
2

동일한 제목으로 많은 질문을 찾았으나 아무도 도움이되지 않았습니다.useBean 클래스 Student 값이 올바르지 않습니다.

나는 클래스를로드해야 JSP 페이지를 실행하려고하고 있어요,하지만 난이 오류가 점점 오전 :

enter image description here

내가 함께 대답 많은 질문을 참조 "클래스가 WEB-로되어야한다 INF 디렉토리 "하지만 문제는 Netbeans이 해당 폴더에 패키지를 만들 수 없다는 것입니다. 패키지는 "Source Packages"디렉토리에 있으므로 여기에 넣습니다. 나는 그 안에 클래스 "학생"과 "패키지"라는 이름의 패키지를 만들어 :

package Package; 

import java.beans.*; 
import java.io.Serializable; 

/** 
* 
* @author ramy 
*/ 
public class Student implements Serializable { 

    public static final String PROP_SAMPLE_PROPERTY = "sampleProperty"; 
    private String sampleProperty; 
    private PropertyChangeSupport propertySupport; 

    public Student() { 
     propertySupport = new PropertyChangeSupport(this); 
    } 

    public String getSampleProperty() { 
     return sampleProperty; 
    } 

    public void setSampleProperty(String value) { 
     String oldValue = sampleProperty; 
     sampleProperty = value; 
     propertySupport.firePropertyChange(PROP_SAMPLE_PROPERTY, oldValue, sampleProperty); 
    } 

    public void addPropertyChangeListener(PropertyChangeListener listener) { 
     propertySupport.addPropertyChangeListener(listener); 
    } 

    public void removePropertyChangeListener(PropertyChangeListener listener) { 
     propertySupport.removePropertyChangeListener(listener); 
    } 
} 

그리고 이것은 JSP이다 : 나는 또한 및 쓰기와 같은 다양한 방법을 시도

<%@page import="Package.Student" %> 
<%@page contentType="text/html" pageEncoding="UTF-8"%> 
<!DOCTYPE html> 
<html> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
     <title>JSP Page</title> 
    </head> 
    <body> 
     <jsp:useBean id="student" class="Student" /> 
    </body> 
</html> 

import 지시문을 제거하거나 WEB-INF 디렉토리 내에 "classes"라는 폴더를 만들고 그 안에 "Package"라는 폴더 (패키지가 아닌)가 있지만 아무것도 할 필요가 없습니다. 그렇게하는 올바른 방법은 무엇입니까?

+1

이이 방법을 시도 할 수 있습니다 희망 ... 바람둥이,이 예외가되지해야한다고 id = "student"class = "Package.Student"/> http://docs.oracle.com/cd/A97336_01/buslog.102/a83726/genlovw3.htm#1008181 – Abi

+0

오류 설명에서 프로그램 학생 수업을 찾을 수 없습니다. @ Abi의 제안을 시도해 볼 수 있습니다. 그것은 작동해야합니다. – ankurtr

+0

[useBean 클래스 특성 값이 유효하지 않음] (http://stackoverflow.com/questions/8287051/the-value-for-the-value-for-the-beanbean-attribute-is-invalid) – lostInTransit

답변

2

먼저 class 속성 값으로 full classname을 사용하도록 usebean 태그를 수정해야합니다. 따라서 Package.Student를 클래스 값으로 사용해야합니다. BTW에서는 소문자로 패키지 이름을 시작하기 때문에 패키지로 변경해야합니다. 스터디 ..

그런 다음 ANT 또는 더 나은 Maven을 사용하여 WAR 파일을 만듭니다. 기본적으로 모든 클래스를 WEB-INF/classes/Package/Student.class와 같은 적절한 위치에 둡니다. 시간이별로 없다면 hirarchy {WARROOT}/WEB-INF가있는 WAR 파일을 만듭니다 useBean에서 : 당신의 WAR은 웹 서버에 배포 /classes/Package/Student.class .. 때,

그것이

+0

답변의 첫 번째 단락은 문제를 해결하기에 충분했습니다. –

관련 문제