strut 2 노트

List jsp 에서 반복 표시:
<s:iterator id="analysisTemplate" value="analysisTemplates" status="sta">
                <s:if test="%{#sta.index%2==0}">
                    <tr>
                        <td><s:property value="#analysisTemplate.name"/></td>
                </s:if>
                <s:else>
                        <td><s:property value="#analysisTemplate.name"/></td>
                    </tr>
                </s:else>
            </s:iterator>

<s:textfield name=”user.name” value=”%{user.nameS}”>

1. OGNL 에는 List 와 Map 을 생 성 하 는 표현 식 이 있 습 니 다. 각각 {e1, e2, e3,...} 과 \ # {key 1: val 1, key 2: val 2,...} 입 니 다.OGNL 집합 에 다음 과 같은 두 개의 연산 자 in 과 not in 을 제공 합 니 다.
   <s:if test="'foo' in {'foo','bar'}" ... </s:if>    
        ---- not in 의 용법 은 당연히 같다.
이 밖 에 OGNL 은 어떤 규칙 을 통 해 집합 한 부분 집합 도 허용 한다.
    ·? :조건 논리 에 맞 는 모든 요 소 를 추출 하 다.
    ·^:조건 에 맞 는 첫 번 째 원 소 를 꺼내다
    ·$:조건 에 맞 는 마지막 요 소 를 꺼내다
위의 이 세 기 호 를 정규 표현 식 의 표현법 과 연결 하 십시오.
예: persons. relatives. {? \ # this. gender = = 'male'}        //집합 persons 의 모든 gender 속성 이 'male' 인 부분 집합 을 꺼 냅 니 다.
OGNL 은 기본 적 인 Lambda (λ) 표현 식 문법 은 좀 복잡 한 것 같 아서 잠시 신경 쓰 지 않 습 니 다.
2. Struts 2 의 각종 라벨 은 이미 완전히 달 라 졌 다.
    ... < / s: if > < s: elseif test = "exp" >.. < / s: elseif > < s: else >... < / s: else > 는 자바 의 if / else if / else 에 대응 합 니 다.
    value 는 기본 값 으로 ValueStack 스 택 상단 집합 으로 지정 되 지 않 았 습 니 다. id 는 현재 요소 변수 이름 입 니 다. status 는 Iterator Status 인 스 턴 스 입 니 다. 기 존 또는 우 행, 현재 색인, 첫 번 째 또는 마지막 기록 을 포함 합 니 다.
   
3. iterator 는 List, Set 과 배열 을 교체 할 수도 있 고 맵 을 교체 할 수도 있 습 니 다. 용법 은 다음 과 같 습 니 다.
       //OGNL 로 만 든 List 입 니 다.
        
<s:property value="name"/>           //      <s:property value="#name"/>
           <s:if test="#st.odd">   </s:if>
           // st      :#st.count、#st.index、#st.even、#st.first、#st.last,    #     

   

   반복 맵, 키 와 맵 으로 대응
   <
s:iterator value="#{'key1':'val1','key2':'val2','key3':'val3'}">
      <s:property value="key"/> | <s:property value="value"/>  
/ / \ # key 와 \ # value 로 쓸 수 없고 OGNL 에 익숙 하지 않 습 니 다.
  
4. < s: append... / > 는 여러 개의 집합 을 하나의 새로운 집합 으로 조합 하여 하나의 < s: iterator... / > 로 여러 개의 집합 을 교체 해도 맵 을 맞 출 수 있 습 니 다. < s: merge... / > 도 집합 을 맞 추 는 데 사 용 됩 니 다. 다만 < s: append... / > 처럼 순서대로 유지 하지 않 습 니 다. < s: merge... / > 는 교차 합 니 다. 앞의 것 은 깊이 있 는 연결 이 고 뒤의 것 은 넓 은 연결 이 라 고 이해 할 수 있 습 니 다.
5. < s: generator... / > 를 배 울 때 Struts 2 태그 가 스 택 을 어떻게 조작 하 는 지 동시에 체험 할 수 있 습 니 다. 물론 자바 가 아 닌 ValueStack 을 말 합 니 다.
     

좋은 웹페이지 즐겨찾기