note

struts2 if / else if / else 태그 예제(OGNL표현식) EL / OGNL 차이점 본문

JSP/Struts2

struts2 if / else if / else 태그 예제(OGNL표현식) EL / OGNL 차이점

투한 2012. 2. 23. 10:40













실행화면 age값을 get방식으로 넘겨줘서 상황에 따른 변화입니다








struts.xml
<struts>
	<package name="ch7" namespace="/ch7" extends="struts-default">
		<!-- 와일드 카드 매핑사용 -->
		<action name="*" class="com.ch7.action.{1}Action">
			<interceptor-ref name="params" />
			<result name="success">/ch7/{1}.jsp</result>
		</action>
	</package>
</struts>


IfAction
package com.ch7.action;

import com.opensymphony.xwork2.Action;

public class IfAction implements Action{

	int age;
	
	@Override
	public String execute() throws Exception {
		return SUCCESS;
	}

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}
}



If.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>if 태그 테스트</title>
</head>
<body>
<h3>if/else if/else 태그 예제</h3>
<s:if test="%{age>=20}">
	Adult
</s:if>
<s:elseif test="%{age>13 && age<=19}">
	Teenager
</s:elseif>
<s:else>
	Child
</s:else>
</body>
</html>




OGNL표현식
 

jsp
EL이 가지고 오는 영역  page, request, session ,application 
4개의 영역


struts2
OGNL이 가지고 오는 영역  - Action , page, request, session ,application
5개의 영역
표현법은 ${}가 아닌 %{} 

getter를 사용했을때 action에 저장이 되어 있고 request에도 저장이 되어 있다 
액션 외의 영역에 접근할때는 #을 붙인다 (액션영역은 그냥표기)


그래서 OGNL은 Action에 접근하기 용이하고
EL은 각 영역에 접근하기 용이함(
page, request, session ,application)

 






'JSP > Struts2' 카테고리의 다른 글

struts2 itertator  (0) 2012.02.23
struts2 OGNL 표기 Append / Merge / Date  (0) 2012.02.23
struts2 업로드파일 다운로드 하기  (0) 2012.02.23
struts2 예외발생 에러페이지  (0) 2012.02.22
Struts2 Servlet  (0) 2012.02.22