求struts2.0时间比较的方法?

求struts2.0时间比较的方法?

问题描述:

页面上有个值,我想判断这个日期,如果是最近三天的,就在前面加个NEW,如何实现?

可以用js呀,得到这个控件的id,然后把控件里面的内容转换为时间格式进行判断,最后更新控件值。

不是很精确,可以直接用if 来比较的

建议在后台用JAVA比较好加个标识,也可以做到很精确

你可以看看在页面中显示的是什么。可能name就是id。

你那个在前面加new是什么意思··只是一个"NEW"字符串,还是代表new Date()这个关键字new

直接在后台判断了,

.java
private Date fcdate;
private boolean isnew = false;

if (在三天内)
{
isnew = true;
}

.jsp
/s:if

思想是这样,具体写法可能不同,自己改改。

呵呵··在stuts2的标签库里,貌似标签加入id之后就不能显示date的信息.用js确实可以做出来,如果你想用来做的话,那就最好在java代码里判断吧,否则在jsp页面上判断会很麻烦的,根据MVC的思想,这些业务逻辑也不应该在View层处理,所以应该是在Model即Action处理完毕之后,页面负责显示即可,我大概写了点,你参考下吧。
[code="java"]import java.text.DateFormat;
import java.util.Calendar;
import java.util.Date;

import com.opensymphony.xwork2.ActionSupport;

@SuppressWarnings({"serial","deprecation"})
public class CurDate extends ActionSupport{

private Date curDate;

private Date searchDate;

private boolean isInThreeDay;

private String msg;


public String execute(){
    Calendar cal=Calendar.getInstance();
    //模拟出查询出的日期
    searchDate=new Date(cal.get(Calendar.YEAR)-1900,cal.get(Calendar.MONTH),cal.get(Calendar.DATE)-2);
    curDate=new Date(System.currentTimeMillis());
    DateFormat format=DateFormat.getDateInstance();
    System.out.println(format.format(searchDate)+":"+format.format(curDate));
    long result=curDate.getTime()-searchDate.getTime();
    //判断是否是在当前日期的前三天还是当前日期的后三天
    //当前日期是11月29,满足的日期应该是11月26到12月1日之间浮动
    result=result>0?result:searchDate.getTime()-curDate.getTime();
    //判断是否满足条件
    isInThreeDay=result<=3*24*3600*1000?true:false;
    return SUCCESS;
}

public Date getCurDate() {
    return curDate;
}

public void setCurDate(Date curDate) {
    this.curDate = curDate;
}

public Date getSearchDate() {
    return searchDate;
}

public void setSearchDate(Date searchDate) {
    this.searchDate = searchDate;
}

public boolean isInThreeDay() {
    return isInThreeDay;
}

public void setInThreeDay(boolean isInThreeDay) {
    this.isInThreeDay = isInThreeDay;
}

public String getMsg() {
    msg="查询出的日期在三天之内";
    return msg;
}

public void setMsg(String msg) {
    this.msg = msg;
}

}
[/code]

jsp页面:
[code="java"]
<%@ page language="java" contentType="text/html; charset=gbk"
pageEncoding="gbk"%>
<%@taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">





/s:text
/s:if

/s:debug


[/code]

希望对你有帮助哈·

用if是针对修改JSP页面不需要编译JAVA的应急修改方式,很霸道,不推荐
<%request.setAttribute("defaultTime", new java.util.Date().getTime());%>
<%request.setAttribute("lessTime",new java.util.Date().getTime() - 1000*60*60*24*3);%>

因为if是同类型之间比较,所以都要转化,将转化好的值放入request中

/s:if

ddd2/s:else