요즘은 대부분 스프링 프레임워크를 사용하지만 예전에 작업된 싸이트나 아직 스트럿츠를 사용하는 곳도 간혹 있다.
간단하게 스트럿츠에서 제공하는 태그에 대해 정리해본다.
1. if , else , elseif
- 기본적 if구문
<s:if test="1==1">1=1이 참일 경우 나타남</s:if>
2. append
- 여러 리스트를 하나의 iterator로 묶어줌 (첫번째 리스트에 두번째리스트가 합쳐진 형태)
<s:append id = "totalList">
<s:param value="%{list1}"/>
<s:param value="%{list2}"/>
</s:append>
<s:iterator value="%{totalList}">
<s:property/>
</s:iterator>
3. generator
- val 속성 값으로 iterator를 생성
cf) separator - 구분자
count - 최대요소수
<s:generator separator="," val="%{'aaa,bbb,cc,dd'} count="3">
<s:iterator>
<s:property/>
</s:iterator>
</s:generator>
cf) 결과.. aaa,bbb,ccc
4. merge
- 여러리스트를 하나의 iterator로 묶음 (첫번째리스트의 첫번째아이템, 두번째리스트 의 두번째아이템, 다시 첫번째리스트의 두번째 아이템 순서로 합쳐짐 )
<s:merge id= "totalList">
<s:param value="%{lsit1}"/>
<s:param value="%{list2}"/>
</s:merage>
<s:iterator value="%{totalList}">
<s:property />
</s:iterator>
5. sort
- 태그속성으로 설정되는 comparator를 사용하여 목록을 정렬하는 태그
예) list 에 {b,a,c}를 저장하고 comparator를 사용 정열하면 {a,b,c}가 됨
<s:sort comparator="myComparator" source ="list">
<s:iterator>
<s:property/>
</s:itertator>
</s:sort>
6. subset
- iterator의 서브셋을 취하는 태그
cf) count - subset iterater에 담을 요소의 수
start - 시작 인덱스값(0부터)
decider - 메소드사용시 메소드 명
<s:subset source="list" count="3" start ="3">
<s:iterator>
<s:property/>
</s:iterator>
</s:subset>
7. a
- HTML 의 <a href =""/>태그
<s:url id="test" action="link"></s:url>
<s:a href="${test}">링크</s:a>
8. action
- jsp에서 직접 액션을 호출
cf) executeResult-리절트
실행여부
<s:action name="action1" executeResult="true"/>
9. bean
- 자바빈 규정에 따라 클래스를 인스턴스화
<s:bean name="com.bean.User" id="user">
<s:param name="first" value="'a'"/>
<s:param name="last" value="'b'"/>
first : <s:property value="first"/>
last: <s:property value="last"/>
</s:bean>
<br/>
first :<s:property value="#user.first"/>
last:<s:property value="#user.last"/>
10. date
- date형식 가져오기
<s:date name="currDate" format="yyyy-MM-dd hh:mm:ss"/>
11. debug
- debug하이퍼 링크를 출력링크를 클릭하면 밸류스택의 내용과 스택 컨텍스트 내용을 출력
<s:debug/>
12. i18n
- 리소스 번들을 얻고 그 내용을 벨류 스택에 저장한다(미리 리소스 번들에 "abc= 가나다" 라고 만들어 둠)- 국제화
<s:i18n name="example.i18n.myBundle">
리소스 번들예제 <s:text name= "abc"/>
</s:i18n>
13. include
- jsp include 역활
<s:include value="includeTag1.jsp">
<s:param name="a" value="'abc'"/>
</s:indclude>
14. param
- 파리미터로 사용
<s:param name="a" value="'a'"/>
<s:param name="a">a</s:param>
15. push
- 밸류스택 안에 값을 저장한다
<s:push value= "user">
first:<s:property value="first"/>
se<s:property value="se"/>
</s:push>
16. set
- 특정 스코프의 변수에 값을 할당
<s:set name="a" value="user.first" scope="session"/>
<s:porperty value="#a"/>
17. text
- i18n 텍스트 메시지를 렌더링
i18n예 참고
url
url생성
param 태그사용가능
<s:url id="a" value="/jsp/a.jsp">
<s:param name="id" value="'a23'"/>
</s:url>
18. propery
- 프로퍼티값을 출력
cf) value값을 지정안하면 밸류스택의 맨 위의 값을 취함
<s:property value="a"/><s:property />