在验证这个联动标签的时候,进入对应的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>
请高手指点一二。
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>
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>
你先看下这些属性的意思把