setProperty action은 Bean의 속성을 설정합니다. Bean은 이 작업 전에 미리 정의되어 있어야 합니다. setProperty 작업을 사용하는 두 가지 기본 방법이 있습니다 -
jsp:setProperty를 사용할 수 있습니다. 이후, 그러나 jsp:useBean 외부 아래에 주어진 요소 -
<jsp:useBean id = "myName" ... /> ... <jsp:setProperty name = "myName" property = "someProperty" .../>
이 경우 jsp:setProperty 새 빈이 인스턴스화되었거나 기존 빈이 발견되었는지 여부에 관계없이 실행됩니다.
jsp:setProperty가 나타날 수 있는 두 번째 컨텍스트는 jsp:useBean 본문 내부입니다. 아래에 주어진 요소 -
<jsp:useBean id = "myName" ... > ... <jsp:setProperty name = "myName" property = "someProperty" .../> </jsp:useBean>
여기서 jsp:setProperty는 기존 객체가 발견된 경우가 아니라 새 객체가 인스턴스화되었을 때만 실행됩니다.
다음 표에는 setProperty와 관련된 속성이 나열되어 있습니다. 액션 -
서열 번호 | 속성 및 설명 |
---|---|
1 | 이름 속성이 설정될 빈을 지정합니다. Bean은 이전에 정의되어 있어야 합니다. |
2 | 속성 설정하려는 속성을 나타냅니다. "*" 값은 이름이 bean 속성 이름과 일치하는 모든 요청 매개변수가 적절한 setter 메소드로 전달됨을 의미합니다. |
3 | 값 지정된 속성에 할당할 값입니다. 매개변수의 값이 null이거나 매개변수가 존재하지 않는 경우 setProperty 조치는 무시됩니다. |
4 | 매개변수 param 속성은 속성 값이 수신할 요청 매개변수의 이름입니다. value와 param을 모두 사용할 수는 없지만 둘 다 사용하는 것은 허용됩니다. |
예시
우리의 예에서 더 사용될 테스트 빈을 정의합시다 -
/* File: TestBean.java */ package action; public class TestBean { private String message = "No message specified"; public String getMessage() { return(message); } public void setMessage(String message) { this.message = message; } }
위의 코드를 생성된 TestBean.class로 컴파일합니다. 파일을 만들고 C:\apache-tomcat-7.0.2\webapps\WEB-INF\classes\action에 TestBean.class를 복사했는지 확인합니다. 폴더 및 CLASSPATH 변수도 이 폴더로 설정해야 합니다 -
이제 main.jsp에서 다음 코드를 사용하세요. 파일. 이것은 빈을 로드하고 간단한 String 매개변수를 설정/가져옵니다 -
<html> <head> <title>Using JavaBeans in JSP</title> </head> <body> <center> <h2>Using JavaBeans in JSP</h2> <jsp:useBean id = "test" class = "action.TestBean" /> <jsp:setProperty name = "test" property = "message" value = "Hello JSP..." /> <p>Got message....</p> <jsp:getProperty name = "test" property = "message" /> </center> </body> </html>
이제 main.jsp에 액세스해 보겠습니다. , 다음 결과를 표시합니다 -
JSP에서 JavaBeans 사용
Got message.... Hello JSP...