jsp 페이지에서 요청 범위 콩을 선언하고 다른 페이지에 액세스하려고했습니다. EL
뿐만 아니라 scriptlet
을 사용하여 다른 페이지에서 bean에 액세스 할 수있었습니다. 그러나 jsp;getProperty
을 사용하면 예외가 있습니다. 다음은 두 페이지의 코드입니다.요청 범위가있는 bean 액세스
PageScope.jsp (첫 페이지) :
<jsp:useBean id="taskBean" class="com.mybean.TaskBean" scope="request" />
<jsp:setProperty name="taskBean" property="multiplier" value="55" />
<jsp:setProperty name="taskBean" property="multiplicand" value="<%= dd %>" />
<%
System.out.println("Forwarding request to other page.");
RequestDispatcher dispatcher = request.getRequestDispatcher("RequestScope.jsp");
dispatcher.forward(request, response);
%>
RequestScope.jsp (다른 페이지) :
<%
out.println("Accessing request scoped bean");
TaskBean taskBean = (TaskBean) request.getAttribute("taskBean");
out.println(taskBean.getMultiplier());
%>
${taskBean.multiplier}
<jsp:getProperty name="taskBean" property="multiplier" />
//THE ABOVE LINE THROWS EXCEPTION.
은 가능한 JSP를 사용하여 Bean에 액세스하는 것입니다 : getProperty에. 내가 틀렸음을 알려주세요. 감사합니다. .
편집 : 아래는 스택 추적입니다.
org.apache.jasper.JasperException: file:/RequestScope.jsp(28,4) jsp:getProperty for bean with name 'taskBean'. Name was not previously introduced as per JSP.5.3
org.apache.jasper.compiler.Generator$GenerateVisitor.visit(Generator.java:1104)
org.apache.jasper.compiler.Node$GetProperty.accept(Node.java:1126)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)
org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2428)
org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2434)
org.apache.jasper.compiler.Node$Root.accept(Node.java:475)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)
org.apache.jasper.compiler.Generator.generate(Generator.java:3489)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:250)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:373)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:353)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:340)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:646)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
org.apache.jsp.PageScope_jsp._jspService(PageScope_jsp.java:109)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
를 인스턴스화하는 데 사용됩니다
<jsp:useBean>
를 추가해야 사용하여 빈 속성에 액세스 할 때? – leonbloy@leonbloy 예, PageScope.jsp의 RequestDispatcher 구문을 참조하십시오. –
죄송합니다. 죄송합니다 .... 예외 스택 트레이스에 유용한 것은 없습니까? – leonbloy