2014-07-16 3 views
1
<jsp:getProperty name="user" property="email" /> 

사용자 이름이 fname, lname, email 인 인스턴스가 3 개 있습니다. 그러나 "firstName", "lastName"및 "emailAddress"로 인스턴스 변수를 변경하고 물론 bean 태그를 변경하지 않으면 위의 코드가 작동하지 않습니다. fear, fName, firName, emailAddr 등 어떤 변수도 "fname"변수가 없습니다. 오류 예 : 변수에 이름이 정확하게 필요합니까?JSP의 Javabean 속성

답변

0

당신이 무엇을했는지 알지 못하지만 3 개의 인스턴스 변수 fname, lname, email을 가진 빈을 가지고있는 것처럼. 그들에게 getter and setters이 있어야합니다.

그런 다음 jsp에서 먼저 속성의 값을 설정해야합니다. 내가 scriptlet

일부 양식에서지고있어이 경우 firstName, lastName,emailId는 다음과 같은 특성을 얻을

<jsp:useBean id="user" class="packageName.User" scope="request"/> 
<jsp:setProperty property="fname" value="<%=firstName %>" name="user"/> 
<jsp:setProperty property="lname" value="<%=lastName %>" name="user"/> 
<jsp:setProperty property="email" value="<%=emailId%>" name="user"/> 

.

<jsp:getProperty property="fname" name="user"/> 
<jsp:getProperty property="lname" name="user"/> 
<jsp:getProperty property="email" name="user"/> 
+0

예 setter 및 getters와 jsp : setProperty를 제외한 모든 요구 사항이 jsp에 있습니다. 어떻게 "property ="firstName ""을 사용하면 setProperty가 필요하지 않습니까? 그것은 내 setters 및 getters가 getFirstName, getLastName, getEmailAddress라고 불리는 이유는 내 인스턴스가 firstName, lastName, emailAddress라고 가정하기 때문입니까? – user3758745

+0

나는 당신이 말하고자하는 것을 완전히 이해하고 있지만, 값으로 속성을 설정하거나 초기화하지 않으면 이름을 변경하더라도 – SparkOn

+0

속성이 초기화되었거나 서블릿에 추가 된 값을 얻을 수 있습니다. 내 JSP에서 세션에서 호출하고 있습니다. 내 인스턴스 변수를 firstName으로 변경하고 면 인스턴스 변수를 fname으로 변경하고 빈에 대해 "fname"변수가 없다고 말합니다. – user3758745

0

요구 사항은 없습니다. bean의 필드가 JSP 페이지에서 기대하는 이름으로 설정되어 있는지 확인하십시오. getter와 setter가있는 경우에도 getter와 setter가 업데이트되었는지 확인해야합니다.