求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