java
  • jsp
  • jstl
  • 2011-01-17 5 views 1 likes 
    1

    요청이있는 서블릿이 있는데 jstl로 호출 할 수 없습니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?JSTL 요청에서 데이터를 출력하는 방법

    <%@ page import="beans.Patient"%> 
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 
    <%@ taglib uri='http://java.sun.com/jstl/fmt' prefix='fmt' %> 
    <jsp:useBean id="patBean" class="beans.Patient" scope="session"/> 
    <c:set var="patientName" value="${patient.name}"/> 
    
    <html> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
    </head> 
    <body> 
    test 
    <form action="PatientAction" method="post"> 
    <input type="text" name="patientId" id="patientId"></input> 
    <input type="submit"/> 
    </form> 
    
    <c:out value="${patientName}" /> 
    <c:out value="${patBean.name}" /> 
    

    답변

    4

    JSTL을 사용할 때 <useBean>으로 신경 쓸 필요가 없습니다. 직접 콩을 참조하십시오. 서블릿 세션에 Patient를 넣어 그렇다면, 당신이 사용하는 이름을 얻을 수 있습니다 :

    <c:out value="${patient.name}" /> 
    
    +0

    그냥 이런 웹 페이지에서 텍스트로 나온다 : "$ {patient.name}" – code511788465541441

    +2

    @ user521180 : JSP EL이 웹 애플리케이션에 사용 가능하지 않다는 의미입니다. http://stackoverflow.com/questions/2168832/expression-language-in-jsp-not-working/2168974#2168974 – skaffman

    +1

    감사합니다. 효과가있었습니다. – code511788465541441

    1

    요청 속성은 입력 한 이름을 통해 액세스 할 수 있습니다. request.setAttribute("foo", fooValue)이 있다면 ${foo}을 통해 액세스 할 수 있습니다. 동일한 요청에 속하는 경우에도 마찬가지입니다. 즉 서블릿은 이 아닌 앞으로이되어야합니다. 리디렉션이 발생하면 이는 새 요청이며 이전 값은 손실됩니다.

    +0

    을 그냥 텍스트 "$ {patient.name}"로 나오는 – code511788465541441

    관련 문제