2011-10-20 3 views
0

s2 iterator 태그를 사용하면 문제없이 테이블을 표시 할 수 있습니다. Javascript로 행을 추가하고 행을 삭제하는 두 개의 버튼이 있습니다. 다음은 JSP 페이지의 조각이스트럿츠 2 동적 테이블 오브젝트 저장

<s:iterator value="entities" status="outerStat"> 
    <tr> 
    <TD><input type="checkbox" name="chk"/></TD> 
    <TD> 
     <table width="100%" cellspacing="4" cellpadding="0" border='0'> 
     <s:textfield name="entities[%{#outerStat.index}].entityName" value="%{entityName}"/> 
     </table> 
    </TD> 
    <TD> 
     <table width="100%" cellspacing="4" cellpadding="0" border='0'> 
     <s:select list="entityTypes" value="%{entityType}"/> 
     </table> 
    </TD> 
    <TD> 
     <table width="100%" cellspacing="4" cellpadding="0" border='0'> 
     <s:textarea name="entities[%{#outerStat.index}].sqlStmt" cols="120" rows="4" maxlength="4000" value="%{sqlStmt}"/> 
     </table> 
    </TD> 
    </tr> 
</s:iterator> 

내 질문에, 매번 내가 AddRow 버튼을 클릭합니다, I는 서버 측에서 해당 행에 대한 객체 홀더를 생성 할 수있는 방법? 서버 쪽에서 얼마나 많은 행이 필요한쪽에 추가되는지 어떻게 알 수 있습니까?

답변

0

표시 한대로 은 이 으로 각 행에 대해 서버 쪽 개체를 만들지 않으므로 단추를 클릭합니다. 양식을 작성 중입니다. 서버 측 오브젝트는 양식이 제출 될 때까지 작성/지속되지 않습니다. 순서를 보장해야하는 경우 "name"속성의 배열 표기법에 대한 JavaScript 카운터를 유지해야합니다.

당신 그 당신이 무엇인지, Ajax 호출을 만드는 객체를 생성하고, 항목의 ID 또는 무엇이든과 함께 HTML을 반환하여 클릭에 서버 측 객체를 생성하지만, 귀하의 질문에서 명확하지 수 실제로하고 싶다.

+0

예, 맞습니다. Dave, Ajax 호출을 통해 AddRow 버튼에 서버 측 객체를 생성해야합니다. 내가 Ajax를 처음 접했을 때이 임무를 수행하기 위해 비슷한 코드가 있습니까? – user1006080

+0

스프링이 http://static.springsource.org/spring/docs/2.0.x/api/org/springframework/util/AutoPopulatingList.html 테이블의 동적 행을 처리하는 API 하나를 제공한다는 것을 알게되었습니다. 누구나 스트럿츠 2가 비슷한 기능을 가지고 있다는 것을 알고 있습니까? – user1006080

+0

@ user1006080 그게 뭔지 정말 모르겠다. S2에는 앱 유형별로 목록을 채우는 것을 포함하여 자동 유형 변환이 있습니다. –