struts 태그 바인딩Map<br>>>
4164 단어 struts2iterator다중 List/Map
첫 번째 상황은 여기에 두 개의 시계가 있는데 하나는 고객표(Customer Info)이고 하나는 수취인표(Taker Info)이다. 두 개의 시계에는 모두 이름(name)과 전화(cellphone)의 속성이 있다. 페이지에 입력한 일련의 조건, 예를 들어name,cellphone 등에 따라 두 개의 시계를 조회하고customer info와taker info가 저장된 집합을 얻는다.이 집합을 페이지에 연결하고 이 사람이 고객표에서 왔는지 수취인표에서 왔는지 표시합니다.
action 코드는 다음과 같습니다.
private Map<String, List>map; / map
private List<TakerInfo>list; // list
private List<CustomerInfo> list2; // list
public String getAllUserLs(){
map=new HashMap<String, List>();
list=takerInfoDao.getAllTakers(); //dao ,
list2=customerInfoDao.getAllCus();
if(list.size()>0&&list2.size()>0)
map.add("takers",list);
map.add("customers",list2);
return SUCCESS;
}
맵을 바인딩하는 페이지 코드는 다음과 같습니다.
<s:iterator value="map3" var="var">
<s:if test="#var.key=='takers'">
<s:iterator value="#var.value" var="takerInfo">
<tr>
<td > :<s:property value="#takerInfo.RealName"/></td>
<td > :<s:property value="#takerInfo.Cellphone"/></td>
</tr>
</s:iterator>
</s:if><s:else>
<s:iterator value="#var.value" var="customerInfo">
<tr>
<td > :<s:property value="#customerInfo.customerRealName"/></td>
<td > :<s:property value="#customerInfo.customerCellphone"/></td>
</tr>
</s:iterator>
</s:else>
</s:iterator>
위의 페이지와 코드는 제가 가능한 한 가장 명확하게 썼습니다. 여러분이 이해하기 쉽고 많은 방법의 실현이나 페이지의 다른 필드, 스타일, js를 모두 지웠습니다.
두 번째 상황은 모든 도시의 인터페이스를 얻는 것이다. [되돌아오는 값에 도시 이름과 도시 id 등 정보가 저장되어 있다]는 것은 하나의 도시 id에 따라 이 도시에서 모든 차량 브랜드의 인터페이스를 얻는 것이다. [되돌아오는 값에 한 도시 아래의 모든 차량의 브랜드 id, 브랜드 이름 등 정보가 저장되어 있다].
여기서 실현해야 할 것은 한 페이지에 모든 차량 브랜드의 이름을 표시하고 그것이 어느 도시 아래에 속하는지 표시하는 것이다. 만약에 상하이에 10개의 차량 브랜드가 있고 무한에 10개의 차량 브랜드가 있다면 이 20대의 자동차를 상세하게 표시하고 어느 도시 아래에 있는지 지적해야 한다.
action 코드는 다음과 같습니다.
private List<Map<String, Object>> brandsMapList; // map
private List<Map<String, Object>> regionMapList; // map, id
private Map<String, List<Map<String, Object>>> allBrandMap; // , map
public String showAllBrand(){
//
allBrandMap=new HashMap<String, List<Map<String,Object>>>();
//
regionMapList=Dom4jUtil.parserXmlStr(carBrandService.getCitys());
for(int i=0;i<regionMapList.size();i++){
// brand
brandsMapList=Dom4jUtil.parserXmlStr(carBrandService.getSelfDriveServiceCityBrands(regionMapList.get(i).get("id").toString()));
// , brand
allBrandMap.put(regionMapList.get(i).get("name").toString(), brandsMapList);
}
}
이 집합을 연결하는 jsp 페이지는:
<s:iterator value="allBrandMap" status="index" var="citys">
<s:if test="#citys.value!=null">
<s:iterator value="#citys.value" var="brand">
<tr>
<td ><s:property value="#brand.name"/></td>
<td ><s:property value="#citys.key"/> </td>
<td >[ ][ ]</td>
</tr>
</s:iterator>
</s:if>
</s:iterator>
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
한 편의 문장으로 Struts2의 유형 전환을 해결하다우리는 HTTP를 통해 백그라운드에 제출된 데이터가 모두 문자열의 형식이라는 것을 알고 있으며, 우리가 필요로 하는 데이터 형식은 당연히 문자열 형식 하나만 있는 것이 아니다.그래서 우리는 유형 전환이 필요하다!다음...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.