java web关于struts2 select标签的使用问题,请高手帮忙!

用select标签时一直有这个问题,找了很多方法都不知道怎么解决,<s:selectname="classid"list="#request.classArray"hea... 用select标签时一直有这个问题,找了很多方法都不知道怎么解决,
<s:select name="classid" list="#request.classArray"
headerKey="0" headerValue="==请选择=="
listKey="classid" listValue="classname" value="ClassId">
</s:select>
错误:tag 'select', field 'list', name 'classid': The requested list key '#request.classArray' could not be resolved as a collection/array/map/enumeration/iterator type. Example: people or people.{name}
我也知道这可能是因为List属性中没有初值,因为把List中的值换成这样就能显示了:
<s:select name="classid" list="#{0:'ooo',1:'aaa'}"
headerKey="0" headerValue="==请选择=="
listKey="classid" listValue="classname" value="ClassId">
</s:select>
但不是说list属性中没有初值是,加了headerKye,headerValue就可以了的么??
这问题困扰很久了。请高手帮吗解决下。感激不尽啊!
展开
 我来答
miniapp16e43ddfde28
2012-06-22 · TA获得超过639个赞
知道小有建树答主
回答量:737
采纳率:0%
帮助的人:526万
展开全部
The requested list key '#request.classArray' could not be resolved as a collection/array/map/enumeration/iterator type
很明显的错误:提示你'#request.classArray' 不能解析为集合类、数组、Map等类型,所以select标签无法使用。应该是你的后台问题。为什么要把classArray存在request范围呢?直接放在valuestack就可以直接用了
张颢凡
2012-06-22 · TA获得超过2060个赞
知道小有建树答主
回答量:799
采纳率:0%
帮助的人:584万
展开全部
我以前用select标签时,都是将数据遍历封装Map中。我给你写一下我的写法吧,这几天我正在做项目,刚好用到select标签。
<s:select name="XXX" list="action中的Map成员属性(有getter和setter方法的)" listkey="key" listvalue="value" headerkey="0" headervalue="请选择……" id="XXX"></s:select>
追问
我的后台action是这样子的,你帮我看看有什么问题啦!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wohenliuaaa
2012-06-22 · 超过13用户采纳过TA的回答
知道答主
回答量:44
采纳率:0%
帮助的人:37.7万
展开全部
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" %>
<%@ taglib uri="/struts-tags" prefix="s" %>

<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=path%>">
<title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
</head>

<body>
<%
class Classes {
private int classid;
private String classname;

public Classes(int classid, String classname) {
this.classid = classid;
this.classname = classname;
}

public int getClassid() {
return classid;
}

public void setClassid(int classid) {
this.classid = classid;
}

public String getClassname() {
return classname;
}

public void setClassname(String classname) {
this.classname = classname;
}
}
%>
<%
List<Classes> classList = new ArrayList<Classes>();
Classes cla = new Classes(1, "yushan");
Classes cla1 = new Classes(2, "yus");
Classes cla2 = new Classes(3, "yuan");
classList.add(cla);
classList.add(cla1);
classList.add(cla2);
request.setAttribute("classList",classList);
%>
<s:select name="classid" list="#attr.classList"
headerKey="0" headerValue="==请选择=="
listKey="classid" listValue="classname" value="classid">
</s:select>
</body>
</html>

如果这个classList在action中存入request,可以这样
<s:select name="classid" list="classList"
headerKey="0" headerValue="==请选择=="
listKey="classid" listValue="classname" >
</s:select>
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式