在<c:forEach></c>输出数据时怎么显示个数?
解决:<c:forEach items="${list1}" var="list1" varStatus="list11"> 第 ${list11.index+1 } 次${list1.属性1 }${list1.属性2 }。。。</c>
计算两个时间相差几天的方法
import java.text.SimpleDateFormat;import java.text.ParseException;import java.util.Date;SimpleDateFormat df = new SimpleDateFormat("yyyyMMddhhmm");
String str1="200203040000"; String timeseconds=year+month+day+"0000";long l1=df.parse(str1).getTime(); //把字符串转化为时间 long l2=df.parse(str2).getTime(); long l3=0; //时间间隔 if(l1>l2)//判断时间先后 { l3=l1-l2; }else { l3=l2-l1; } l3=l3/(60*60*24*1000); System.out.println(str1+"与"+str2+"相隔"+l3+"天!"); } }
错误:long l1;try{ l1=df.parse(timeseconds).getTime();}catch{}String timesecond=String.valueOf( l1);显示错误:The local variable l1 may not have been initialized
原因:
try{}catch{}l1不一定有值,所以会显示错误解决:long l1;改为long l1=0;即设置初值
在jsp中如何比较sion和${list.**},并进行进一步的动作ses
解决:
可以在<script></script>比较比如: <c:forEach items="${list}" var="list" varStatus="list1"> <tr class="showlist"> <td id="${list1.index+1 }"> <script type="text/javascript"> s1=<%=request.getAttribute("latertime") %>; s2=${list.timesecond }; if(s1>s2 && s2=="00000") { document.write("长时间未访问"); document.getElementById ("${list1.index+1 }").style.background='red'; } else { document.write("最近访问过"); document.getElementById ("${list1.index+1 }").style.background='yellow'; } </script> </td>。。。。。。。</c>
问题:在一个jsp中,用${list.index}作为某个标签的id,即<p id="${list.index+1}"> 时,如果同一个jsp中有两个list(list1,list2),在不同的<c:forEach></c>都用到 了js函数查询id号时,会出错原因:id号可能出现重名了,因为第一个<c:forEach></c>里的id从1到list1.size(),第 二个<c:forEach></c>里的id从1到list2.size()
解决:
在jsp里输入${list.index}就相当于直接输出了,所以可以改为<p id="${list.index+1}*">、<p id="${list.index+1}**">,以示区别,js查询时document.getElementById("${list1.index+1 }*").style.background='red';就可 以了问题:<textarea></textarea>没有value属性,怎么输出默认值?解决:<textarea 。。>${map.address}</textarea>