2011-03-03 6 views
0

안녕하세요! JSTL이 JSP에서 제대로 읽히지 않습니다

나는 자바에서 JSTL을 사용하려고했지만 오류가있어 다음과 같이

exception 
javax.servlet.ServletException: java.lang.InstantiationException: class session.Item : java.lang.InstantiationException: session.Item 

root cause 
java.lang.InstantiationException: class session.Item : java.lang.InstantiationException: session.Item 

내 코드는 다음과 같습니다

<%@page contentType="text/html" pageEncoding="UTF-8"%> 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
    "http://www.w3.org/TR/html4/loose.dtd"> 

<html> 
    <head> 
     <title>DISPLAY ITEM</title> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
    </head> 
    <body> 

    <jsp:useBean id="invenItem" class="session.Item" scope="request"/> 
    <c:choose> 
     <c:when test="${invenItem != null}"> 
      <h1>Inventory Item Details: JSP Tester</h1> 
      Stock ID : <jsp:getProperty name="invenItem" property="stockID" /><br/> 
      Name  : <jsp:getProperty name="invenItem" property="itemName" /><br/> 
      Unit Price: <jsp:getProperty name="invenItem" property="unitPrice" /><br/> 
      On Stock : <jsp:getProperty name="invenItem" property="onStock" /> 
      <h1> Inventory Item Details Tester: EL Method </h1> 
      Stock ID : ${invenItem.stockID} <br/> 
      Name  : ${invenItem.itemName}<br/> 
      Unit Price: ${invenItem.unitPrice}<br/> 
      On Stock : ${invenItem.onStock} 
     </c:when> 
     <c:otherwise> 
      <%@ include file ="DataForm.html" %><br> 
      Item not existing!<br> 
      <%@ include file ="ItemEntry.html" %> 
     </c:otherwise> 
    </c:choose> 

</body> 
</html> 

나는이 JLPT을 이미 읽은 거기에 모든 지시를 따랐다. 도와주세요. 고맙습니다. 제안

편집 ...

나는 오류를 해결하지만, 여전히 JSTL은 (다른 논리 경우) 작동하지 않습니다. 도와주세요!!!!

답변

2

요청 속성으로 이미 존재하는 경우 <jsp:useBean>을 검색 할 필요가 없으며이를 JSP에서 직접 사용할 수 있으므로 <useBean> 행을 완전히 제거하면됩니다. invenItem이미 요청 속성으로 존재하지 않습니다

경우, <jsp:useBean> 당신을 위해 하나를 만들 것이다, 그러나 당신이 class 속성에 넣어 어떤 공용, 기본 생성자를 가진 클래스의 완전한 이름이어야합니다 , 그렇지 않으면 당신은 당신이 본 예외를 얻을 것이다.

+0

나는 JSP를 제거하면 빈을 시도 null 오브젝트에 대한 조작. – newbie

+0

클래스 특성이 PUBLIC으로 설정되었습니다. – newbie

+0

기본 생성자가 없기 때문에이 문제점을 발견했습니다. – newbie

2

당신이 처음에 JSTL 코어 태그 라이브러리를 참조하는 것을 잊었다 것으로 보인다 : useBean에서 또 다른 오류가 나타납니다 : org.apache.jasper.JasperException : PWC6049을 :

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> 
관련 문제