二级菜单总是取不到值
public String addNewsPre() throws Exception {
Map<String, List<SmallClass>> map = new LinkedMap();
bigClassList = (ArrayList) ngr.findAllBigClass();
for (int i = 0; i < bigClassList.size(); i++) {
BigClass b = (BigClass) bigClassList.get(i);
smallClassList = ngr.findAllSmallClass(b.getBigClassID());
map.put(b.getBigClassName(),smallClassList);
}
this.setBigClassMap(map);
return SUCCESS;//跳转到下面这个页面
}
<s:form action="addNews.action" name="sdf">
<TABLE width="780" align="center" CELLSPACING=0
background="images/bodybg.jpg">
<s:actionerror />
<s:textfield name="newsTitle" label="标题" />
<s:textarea name="newsContent" label="内容" /> <s:doubleselect list="bigClassList" name="bigClass"
listKey="bigClassName" listValue="bigClassName" label="请选择大类"
doubleList="bigClassMap[top]" doubleListKey="smallClassName"
doubleName="smallClass" doubleListValue="smallClassName" />
</s:form>
总结一下,结帖
Map<String, List<SmallClass>> map = new LinkedMap();
要改成
Map<Integer, List<SmallClass>> map=new LinkedHashMap();
不然会报上述错误
<s:form action="addNews.action" name="sdf">
要改成
<s:form action="addNews" name="sdf">
不然,二级菜单显示为空
----
public String addNewsPre() throws Exception {
Map<String, List<SmallClass>> map = new LinkedHashMap();
bigClassList = (ArrayList) ngr.findAllBigClass();
for (int i = 0; i < bigClassList.size(); i++) {
BigClass b = (BigClass) bigClassList.get(i);
smallClassList = ngr.findAllSmallClass(b.getBigClassID());
map.put(b.getBigClassID(),smallClassList);
}
this.setBigClassMap(map);
return SUCCESS;
}
<s:form action="addNews" name="sdf">
<s:doubleselect list="bigClassList" name="bigClass"
listKey="bigClassID" listValue="bigClassName" label="请选择大类"
doubleList="bigClassMap.get(top.bigClassID)" doubleListKey="smallClassName"
doubleName="smallClass" doubleListValue="smallClassName" />
本文介绍了一种在Struts2框架中实现二级菜单的方法,包括如何通过代码正确设置大类与小类之间的映射关系,并调整表单动作以确保二级菜单能够正常显示。
178

被折叠的 条评论
为什么被折叠?



