在验证这个联动标签的时候,进入对应的jsp,结果发现页面是空白的(白板),debug发现后台的数据都是有的。
请高手指点一二。
public class LoginTestAction extends ActionSupport{

private Map companyAndPaperMap ;
public String prepare() throws Exception{ MstPaperService mstservice = new MstPaperService();
List<? extends Object> companyList=mstservice.findAllCompany();
Map temp1 = new HashMap();
for(int i = 0;i <companyList.size();i++)
{
Map map=(Map)companyList.get(i);
int company_id=Integer.parseInt(map.get("COMPANY_ID").toString());
DTO dto=new DTO();
dto.put("COMPANY_ID", company_id);
List<? extends Object> singelpaper=mstservice.findPaperByID(dto);
temp1.put(map, singelpaper);
}
this.setCompanyAndPaperMap(temp1);
temp1.keySet();
return SUCCESS;
}
public Map getCompanyAndPaperMap() {
return companyAndPaperMap;
}
public void setCompanyAndPaperMap(Map companyAndPaperMap) {
this.companyAndPaperMap = companyAndPaperMap;
}
}jsp代码如下<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@taglib prefix="s" uri="/struts-tags"%>
<html>
<head>   
<title>struts2提交页面</title>
</head>
<body> 
<s:form action="loginprepare!prepare.action" method="post" name="f1" >
<s:doubleselect theme="simple" name="foodTypeId" 
list="companyAndPaperMap.keySet()" listValue="COMPANY_NAME" 
listKey="COMPANY_ID" doubleName="checkBasisId" 
doubleList="companyAndPaperMap.get(top)" doubleListValue="PAPER_NAME" 
doubleListKey="PAPER_ID" formName="f1"></s:doubleselect>  
</s:form>
</body>
</html>

解决方案 »

  1.   

    struts2的标签是很不好用  不注意就错了  下面是doubleselct标签里的一些属性:
    doubleselect标签doubleselect标签输出关联的两个HTML列表框,产生联动效果。
     
    list
     要迭代的集合,使用集合中的元素来设置各个选项,如果list的属性为Map则Map的key成为选项的value,Map的value会成为选项的内容
     
    listKey
     指定集合对象中的哪个属性作为选项的value,该选项只对第一个列表框起作用
     
    listValue
     指定集合对象中的哪个属性作为选项的内容,该选项只对第一个列表框起作用
     
    headerKey
     设置当用户选择了header选项时,提交的的value,如果使用该属性,不能为该属性设置空值
     
    headerValue
     显示在页面中header选项内容
     
    emptyOption
     否
     false
     Boolean
      
     
    multiple
     是否多选
     
    size
     显示的选项个数,该选项只对第一个列表框起作用
     
    doubleId
     指定第二个列表框的ID
     
    doubleList
     要迭代的集合
     
    doubleListKey
     指定集合对象中的哪个属性作为选项的value,该选项只对第二个列表框起作用
     
    doubleListValue
     指定集合对象中的哪个属性作为选项的内容,该选项只对第二个列表框起作用
     
    doubleSize
     选项个数
     
    doubleName
     指定第二个列表框的name映射
     
    doubleValue
     第二个列表框的初始选种项
      实例:<s:form name="test">    <s:doubleselect label="请选择所在省市"        name="province" list="{'四川省','山东省'}" doubleName="city"        doubleList="top == '四川省' ? {'成都市', '绵阳市'} : {'济南市', '青岛市'}" /></s:form> <s:form action="doubleselectTag">    <s:doubleselect            label="请选择所在省市"            name="province"            list="provinces"            listKey="id"            listValue="name"            doubleList="cities"            doubleListKey="id"            doubleListValue="name"            doubleName="city"            headerKey="-1"            headerValue="---------- 请选择 ----------"            emptyOption="true" /></s:form>
    你先看下这些属性的意思把