javax.servlet.ServletException: bean [name] nicht innerhalb des Bereichs gefunden

StackOverflow https://stackoverflow.com/questions/270444

  •  06-07-2019
  •  | 
  •  

Frage

Ich erhalte diese Fehlermeldung:

javax.servlet.ServletException: bean not found within scope

auf einer Seite mit dieser an der Spitze.

<jsp:useBean id="bean" type="com.example.Bean" scope="request" />

Die Klasse im Klassenpfad vorhanden ist, ist es heute Morgen gearbeitet, und ich habe nicht, was nicht gefunden im Umfang bedeutet.

Wie wird dies verursacht, und wie kann ich es lösen?

War es hilfreich?

Lösung

Sie müssen das class Attribut anstelle des type Attribut.

Folgende:

<jsp:useBean id="bean" type="com.example.Bean" scope="request" />

hat im Grunde die folgenden hinter den Kulissen:

Bean bean = (Bean) pageContext.getAttribute("bean", PageContext.REQUEST_SCOPE);

if (bean == null) {
    throw new ServletException("bean not found within scope");
}

// Use bean ...

Während der folgenden:

<jsp:useBean id="bean" class="com.example.Bean" scope="request" />

hat im Wesentlichen folgenden Bereichen hinter den Kulissen:

Bean bean = (Bean) pageContext.getAttribute("bean", PageContext.REQUEST_SCOPE);

if (bean == null) {
    bean = new Bean();
    pageContext.setAttribute("bean", bean, PageContext.REQUEST_SCOPE);
}

// Use bean ...

Wenn es vorher gearbeitet hat, und es hat nicht funktioniert „in einem plötzlichen“, dann bedeutet es, dass etwas , die für die Umsetzung der Bohne im Rahmen zuständig ist, funktioniert nicht mehr. Zum Beispiel kann ein Servlet, das die folgenden in der doGet() tut:

request.setAttribute("bean", new Bean());
request.getRequestDispatcher("page.jsp").forward(request, response);

Vielleicht haben Sie die JSP-Seite direkt per URL aufgerufen anstelle des Servlets durch URL aufrufen. Wenn Sie direkten Zugriff auf JSP-Seiten deaktivieren möchten, setzen Sie sie dann in /WEB-INF und stattdessen es weiter.

Andere Tipps

Sie müssen hinzufügen

<jsp:useBean id="givingFormBean" type="some.packg.GivingForm" scope="request" />

Da die Bohne standardmäßig auf der sah Seite Umfang

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top