Struts2标签 计算 时间差

复制一下上面这个:

在Action中写个静态函数:

	/***
		 * 前台传数据,过来进行 计算得到天数
		 * 分析:得出毫秒  相减 (1000*3600*24)
		 *   >=7 失效,《=0  正常,   其他 显示 剩余天数
		 * @param start
		 * @param end
		 * @param src
		 * @return
		 * @throws ParseException 
		 */
		public static int  compareDate(Date start) throws ParseException{
//			SimpleDateFormat sdf = new  SimpleDateFormat("yyyy-MM-DD HH:mm:ss");
//			Date  d2=sdf.parse(start);
//			
			Calendar c = Calendar.getInstance();
			 c.setTime(new Date());
		long l1=c.getTimeInMillis();
		c.setTime(start);
		long l2=c.getTimeInMillis();
		long result=l1-l2;
//		System.out.println(result);
//		System.out.println(result/(1000*3600*24));
		int result2= (int) (result/(1000*3600*24));
			
           return result2;//大于开始时间,小于结束时间返回true
}


一定要在struts.xml配置文件中配置允许使用OGNL访问静态方法,否则不能使用OGNL访问静态方法,必须在struts.xml文件中加入这行代码:

<constant name="struts.ognl.allowStaticMethodAccess" value="true"></constant>


其中完整struts.xml文件如下:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>
	<constant name="struts.enable.DynamicMethodInvocation" value="true"></constant>
	<constant name="struts.devMode" value="true"></constant>
	<constant name="struts.ognl.allowStaticMethodAccess" value="true"></constant>
</struts>

jsp 页面

@包名。类名@静态方法名(参数)

@com.hesheng.guanliaction.guanliXianluListAction@compareDate(#xianlu.jihuodatetime)

 <s:if test="@com.hesheng.guanliaction.guanliXianluListAction@compareDate(#xianlu.jihuodatetime)==0" > 
正常
</s:if>
<s:else>
剩余  <s:property value="@com.hesheng.guanliaction.guanliXianluListAction@compareDate(#xianlu.jihuodatetime)"/>
 天失效
</s:else> 
  
  
  </td>
</tr>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值