我想在jsp页面里使用EL表达式的值做一个减法运算, ${tmp.id.rainDate}-${cropPlant},其中rainDate,cropPlant都是java.util.Date型,
例如rainDate是2012-05-06,cropPlant是2012-05-05,想在单元格里显示 1 ,可是得到的确是2012-05-06 - 2012-05-05,各位帮忙看看
怎么解决?
<table width="960" border="1" bordercolor="#999999" cellpadding="0" cellspacing="0">
<colgroup span="17" style="FONT-WEIGHT:bold; FONT-SIZE:12px; COLOR:#003366">
</colgroup>
<logic:iterate name="ls" indexId="index" id="tmp">
<tr>
<TD width="212" style="WIDTH: 100px">
${tmp.id.rainDate }
</TD>
<TD width="190" style="WIDTH: 50px">
${tmp.id.rainDate}-${cropPlant}
</TD>
<TD width="135" style="WIDTH: 50px">
${tmp.id.rainValid }
</TD>
<TD width="135" style="WIDTH: 50px">
${tmp.id.irrigationData }
</TD>
<TD width="135" style="WIDTH: 50px">
${tmp.id.etData }
</TD>
<TD width="139" style="WIDTH: 50px">
${tmp.id.humidityData }
</TD>
</tr>
</logic:iterate>
</table>
${(tmp.id.rainDate-cropPlant)}
这样试试
1、${tmp.id.rainDate}-${cropPlant} 这相当于是两个EL表达式 中间通过-连接; “-”是html;
2、日期类型不能直接相减
3、可以这样 两个日期的毫秒值相减(cropPlant.time---->cropPlant.getTime())
${tmp.id.rainDate.time - cropPlant.time}
4、EL表达式能完成的任务比较弱,因此复杂的计算建议在model/控制器完成
那就 ${(tmp.id.rainDate.time-cropPlant.time)/1000*60*60*24}
当然也可以考虑使用可以自定义EL表达式方法方式实现