我们往往在页面中想到的list的长度,此后,你就不用为此发愁了..
1、在jsp页面中不能通过${list.size}取list长度,正确的方法是这样的:
(1).首先引入jsp的头
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
(2).在页面中显示,当然拿到它就可以进行相应的操作了
<c:out value="${fn:length(list)}"></c:out>
2、js文件的中文在eclipse中变为乱码,引入jsp文件显示也为乱码的解决:
用eclipse打开.js文件,File菜单properties将text file encoding改为utf-8,然后页面引
<script>"text/javascript" language="javascript" charset="utf-8" src="<%=basePath%>examConditionQuery/examConditionQuery.js">
</script>
<script type="text/javascript"></script><script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"></script>
3.现在有这样一个需求,根据项目名的变化,动态的改变项目下所有监控点的显示列表:
当然了,在这里我用到了dwr,如果有更好的解决办法,可留言给我。
(1).jsp部分
<td >项目名称:
<select οnchange="showAgentList(this);">
<option value="all">--全部--</option>
<c:forEach items="${projectList}" var="list" >
<option value="${list.projectId}" >${list.name}</option>
</c:forEach>
</select></td>
<td>监控点名称:
<span id="interfaceSpan"><select id="agentId" >
<option value="all">--全部--</option>
</select></span></td>
(2).js
function showAgentList(sel)
{
var index=sel.selectedIndex; //获取选中内容的索引
var param=sel.options[index].value; //得到value
service.getAgentList(param,callBack); //通过dwr调用后台方法,callBack为回调函数
}
function callBack(data) //data为List集合,List中元素为包含agentId和agentName两个元素的bean
{
showAgentName("agentId",data);
}
function showAgentName(id,data) //关键的一步
{
DWRUtil.removeAllOptions(id); //先删除id下所有的选项
DWRUtil.addOptions(id,data,'agentId','agentName');
//增添新的选项,data为list,agentId为值属性,agentName为名称属性;
}