2012-01-20 2 views
0
private Integer[] routeId; private String[] routeName; 

이 배열과 게터 설정기를 선언했습니다. 지금은 같은 반복자에 그 값을 설정하려면 :이터레이터에서 사용할 텍스트 필드의 값을 설정하는 방법

Iterator<Object> iter=tManager.getApprovedTourPlan(staffId,9).iterator(); 
tourList=new ArrayList<TourPlan>(); 
int i=0; while(iter.hasNext()) { 
       Object[] tour = (Object[]) iter.next(); 
       TourPlan tp=new TourPlan();  
       tp.setRouteId(0); 
       tp.setRouteName("asd"); 
       tourList.add(tp); 
     } 

과 JSP에 내가 사용합니다 :

<s:iterator list="tourList" var="tour"> <s:property 
    name="#tour.routeId"> <s:property name="#tour.routeName"> 
</s:iterator> 

을하지만 값을 설정할 때

tp.setRouteId(0); 
tp.setRouteName("asd"); 

내가 설정할 수 없습니다 값은 배열을 받아들이므로 어떻게 처리 할 지 말해줘. 나는 모든 당신이 중첩 된 반복자를 무엇을 얻을에서

+0

''Integer' 배열을 만들어서'TourPlan'에 설정할 수 없습니까? 그것의 문제는 무엇입니까? –

+0

내가 while while 루프에서 tourPlan의 30 레코드를 얻었고 tp.setRouteId (integerArray)를 설정했다고 가정합니다. jsp에서 각 레코드는 여러 개의 라우트 ID를 갖습니다. Isnt it? 그리고 하나의 기록에 대해 하나의 경로를 원합니다. 이 경우 – Jitendra

+0

당신의 접근 방식은 잘못된 것입니다. 배열의 장소는'routeid'와'routename'입니다. 그래서 배열을 사용하는 목적은 무엇입니까? –

답변

0

, 그들은이

<s:iterator value="lstBean" id="lstBean" status="outerStat"> 
     <s:textfield value="%{name}" name="lstBean[%{#outerStat.index}].name"/> 
     <s:textfield value="%{amt}" name="lstBean[%{#outerStat.index}].amt"/> 
     <s:textfield value="%{id}" name="lstBean[%{#outerStat.index}].id"/> 
     <s:iterator value="%{lstString}" status="myStat"> 
      <s:textfield name="lstBean[%{#outerStat.index}].lstString[%{#myStat.index}]"/> 
     </s:iterator> 
    </s:iterator> 

class XBean 
{ 
    private ArrayList<String> lstString=new ArrayList<String>(); 
    private String name; 
    private Double amt; 
    private Integer id; 
} 

예처럼 보일 것이다

http://www.onlinexamples.com/showfullexample.action?idexamples=10&title=Nested%20Iterators%20Example

http://www.onlinexamples.com/showfullexample.action?idexamples=11&title=Iterator%20over%20an%20array/list%20of%20objects/beans

,
관련 문제