ArrayList<MyType>
를 반환하는 메서드 (getDataList()
라고 함)가있는 Java 백업 빈이 있습니다.[h || rich] : dataTable은 모든 객체를 반복하지 않습니다.
MyType.java
MyType.java
에서는 setter 및 getter가 모두로드되어 있는데 모두
String
또는
String[]
을 할당합니다. 예제 인스턴스화는 다음과 같은 데이터를 포함하는 4 개의 객체를 ArrayList에 할당합니다.
fid = 1 ftid = 1
fid = 2 ftid = 1
fid = 3 ftid = 1
fid = 3 ftid = 2
내 jsf 코드에서이 구조를 rich : dataTable로 참조합니다. 문제는 테이블이 다음과 같이 나옵니다.
fid ftid
1 1
2 1
3 2 # should be 3, 1
3 2
마지막으로 보았 듯이 반복은 올바르지 않습니다. 나는 이것을 h : dataTable로 시도해 보았고 같은 일이 일어나서 아마 부유 한 것이 아님을 알았다. 하지만 내 자바 콘솔을 통해 일식 (ganymede/tomcat6) 올바른 할당을 보여줍니다 :
|STDOUT| 2010-02-08 15:23:58,953 | INFO | [http-8989-5]: adding ftqId 1 feedId 1
|STDOUT| 2010-02-08 15:23:58,984 | INFO | [http-8989-5]: adding ftqId 1 feedId 2
|STDOUT| 2010-02-08 15:23:59,000 | INFO | [http-8989-5]: adding ftqId 1 feedId 3
|STDOUT| 2010-02-08 15:23:59,000 | INFO | [http-8989-5]: adding ftqId 2 feedId 3
아무도 내 ArrayList 개체에서 데이터를 올바르게 추출하는 방법을 말할 수 있습니까? 해시 맵을 사용해야합니까?
는 요청에 따라 여기에 관련 코드 (감사 콜린)의 작은 조각이다 :
public ArrayList<MyType> getFDataList() {
XMLHandler handler = new XMLHandler();
dataList = new ArrayList<MyType>();
try {Document doc = handler.XMLDoc("Config.xml");} // catches removed
String[] fIds = handler.XMLList("//snip/fid/text()");
for (String fId : fIds) {
MyType tld = new MyType();
String[] ftIds = handler.XMLList("//snip/ftid/text()");
for (String ftId : ftIds) {
tld.setFtId(ftId);
tld.setFId(fId);
logger.info("ftId:"+ftId+",fId:"+fId);
dataList.add(tld); // each ft
}
}
return dataList;
}
이지지 클래스 코드 :
이 빈 코드
public class MyType {
private String fId;
private String ftId;
public String getFId() {
return fId;
}
public void setFId(String f) {
fId = f;
}
public String getFtId() {
return ftId;
}
public void setFtId(String fi) {
ftId = fi;
}
}
내가 생각할 수있는 유일한 것은 객체를 ArrayList에 추가하는 작업을 중첩하는 것이지만 중요하다고 생각하지 않는다는 것입니다. 미리 감사드립니다.
대신 코드를 설명하는, 그냥 제공합니다. – Bozho
목록에 글자가 600 자있는 경우 어떻게해야합니까? – volvox
'UIData'에는 그러한 버그가 없으므로 목록을 채우거나 접근하는 방법이 잘못되었습니다. SSCCE http://sscce.org를 게시하십시오 (즉, 문제를 정확하게 재현 할 수있는 가장 작은 스 니펫을 얻을 때까지 관련성이 없거나 관련이없는 모든 코드를 제거하십시오). – BalusC