2013. 8. 22. 16:52ㆍ99. 정리전 - IT/11. Java
logic 태그 라이브러리 logic 태그 라이브러리에는 반복 처리, 조건 분기, 리디렉트 처리등을 실시하는 태그가 정의되고 있습니다.
|
struts-config.xml
스트럿츠 프로그램의 정의 파일 |
exLogic.jsp |
값을 입력하는 Form 화면을 html 태그 라이브러리에서 작성합니다. |
LogicRegistrationAction.java |
액션·클래스입니다. 천이처의 파일로서 exLogic2.jsp를 지정합니다. | |
LogicRegistrationForm.java |
입력된 값을 보관 유지하는 액션·폼 Bean | |
exLogic2.jsp |
전페이지로 입력된 값의 조건 분기, 반복 처리를 logic 태그 라이브러리에서 실시 |
【struts-config.xml】
<? xml version="1.0" encoding="Shift_JIS"? > <struts-config>
<!-- (1) ActionClass의 행동을 지정 -->
<!-- (2) ActionClass 실행 후의 천이처를 지정 -->
<!-- (3) ActionForm Bean의 지정 --> </struts-config> |
(1). <action-mappings>태그로 액션·클래스, 관련하는 액션·폼 Bean를 지정합니다. 천이처(exLogic2.jsp)를 지정합니다. (3). <form-beans>태그로 액션·폼 Bean를 지정합니다.
|
【exLogic.jsp】
html 태그 라이브러리를 사용해, Form 화면을 작성
<%@ page contentType="text/html; charset=Shift_JIS" %> <html:html> </body> |
(1). taglib 지시문으로 사용하는 태그 라이브러리를 지정합니다. HTML의 것<input type="text">과 거의 같은 동작을 해, 프롭퍼티 idCode의 값을 입력합니다.
|
【LogicRegistrationAction.java】
이번 액션·클래스에서는 특히 어떤 처리도 실시하지 않고, exLogic2.jsp를 호출
package struts; import javax.servlet.http.HttpServletRequest; //(1) LogicRegistrationAction 클래스의 선언 //(2) exLogic2.jsp의 호출 |
(1). Action 클래스를 슈퍼 클래스로서 LogicRegistrationAction 클래스를 선언합니다. "success"와 exLogic2.jsp의 매핑은 struts-config.xml에 정의합니다.
|
【LogicRegistrationForm.java】
exLogic.jsp로 입력한 값을 보존, 취득하는 메소드를 제공하는 액션·폼 Bean를 작성
package struts; import org.apache.struts.action. *; //(1) LogicRegistrationForm 클래스의 선언 //(2) 프롭퍼티치를 보관 유지하는 변수의 선언 //(3) 프롭퍼티치의 액세스 메소드의 선언 } |
(1). ActionForm 클래스를 슈퍼 클래스로서 LogicRegistrationForm 클래스를 선언합니다. getXxx 메소드로 메소드가 불렸을 때, 프롭퍼티치를 돌려줍니다.
|
【exLogic2.jsp】
logic 태그 라이브러리를 사용해, 전페이지로 입력된 값의 조건 분기, 반복 처리를 실시
<%@ page contentType="text/html; charset=Shift_JIS" %> <html:html> logic 태그 라이브러리 샘플 1
<%-- (3) <logic:notEmpty>태그의 사용 --%>
<%-- (4) <logic:equal>태그의 사용 --%>
</body> |
(1). taglib 지시문으로 사용하는 태그 라이브러리를 지정합니다. 속성으로 지정한 프롭퍼티명, Cookie명, 헤더명, 변수명이 존재하는 경우, 태그내의 처리를 실행합니다. name 속성에 액션 폼·Bean를 지정합니다. property 속성에 액션 폼·Bean내의 해당하는 프롭퍼티명을 지정합니다. scope 속성에 프롭퍼티치의 스코프를 지정합니다. 속성으로 지정한 프롭퍼티명, 변수명의 값이 Null가 아닌 경우, 태그내의 처리를 실행합니다. name 속성에 액션 폼·Bean를 지정합니다. property 속성에 액션 폼·Bean내의 해당하는 프롭퍼티명을 지정합니다. scope 속성에 프롭퍼티치의 스코프를 지정합니다. 속성으로 지정한 프롭퍼티명, Cookie명, 헤더명, 변수명의 값이 특정의 키워드와 같은 경우, 태그내의 처리를 실행합니다. name 속성에 액션 폼·Bean를 지정합니다. property 속성에 액션 폼·Bean내의 해당하는 프롭퍼티명을 지정합니다. scope 속성에 프롭퍼티치의 스코프를 지정합니다. value 속성과 비교하는 특정의 키워드를 지정합니다. 배열, 콜렉션의 요소를 순서에 반복 처리를 실시합니다. id속성에, 각 요소가 대입되는 변수를 지정합니다. name 속성에 액션 폼·Bean를 지정합니다. property 속성에 액션 폼·Bean내의 해당하는 프롭퍼티명을 지정합니다. scope 속성에 프롭퍼티치의 스코프를 지정합니다. <bean:write>(을)를 사용해 id속성으로 지정된 변수의 값을 표시하고 있습니다.
|
logic 태그 라이브러리 일람
logic 태그 라이브러리에서 정의되고 있는 태그의 일람입니다.
Struts 문서 (logic 태그라이브러리) |
|
empty |
지정한 Bean의 프롭퍼티, 변수가 Null인가 어떤가를 판별 |
notEmpty |
지정한 Bean의 프롭퍼티, 변수가 Null가 아닌가를 판별 |
equal |
지정한 Bean의 프롭퍼티, 변수, 헤더, Cookie의 값이 지정한 특정의 값과 동일한가를 판별 |
notEqual |
지정한 Bean의 프롭퍼티, 변수, 헤더, Cookie의 값이 지정한 특정의 값과 다르고 있는지 판별 |
forward |
struts-config.xml의<global-forwards>엘리먼트로 지정한 페이지로 포워드를 실시 |
redirect |
지정한 페이지에 리디렉트를 실시 |
greaterEqual |
지정한 Bean의 프롭퍼티, 변수, 헤더, Cookie의 값이 지정한 특정의 값이상인가 판별 |
greaterThan |
지정한 Bean의 프롭퍼티, 변수, 헤더, Cookie의 값이 지정한 특정의 값보다 큰지 판별 |
lessEqual |
지정한 Bean의 프롭퍼티, 변수, 헤더, Cookie의 값이 지정한 특정의 값이하인가 판별 |
lessThan |
지정한 Bean의 프롭퍼티, 변수, 헤더, Cookie의 값이 지정한 특정의 값보다 작은지 판별 |
iterate | 배열, 콜렉션의 각 요소의 반복 처리를 실시 |
match |
지정한 Bean의 프롭퍼티, 변수, 헤더, Cookie의 값으로 지정한 특정의 값이 포함여부 판별 |
notMatch |
지정한 Bean의 프롭퍼티, 변수, 헤더, Cookie의 값으로 지정한 특정의 값이 포함되지 않은지 판별 |
messagesPresent |
request 스코프내로 지정한 ActionErrors 오브젝트, ActionMessages 오브젝트, String 오브젝트, String 배열이 존재할지 판별 |
messagesNotPresent | request 스코프내로 지정한 ActionErrors 오브젝트, ActionMessages 오브젝트, String 오브젝트, String 배열이 존재하지 않는가를 판별 |
present |
지정한 Bean의 프롭퍼티명, 변수명, 헤더명, Cookie명이 존재할지 판별 |
notPresent | 지정한 Bean의 프롭퍼티명, 변수명, 헤더명, Cookie명이 존재하지 않는가를 판별 |