我的Action是这样的:
/**
 * 新闻列表
 */

public ActionForward findAllNews(ActionMapping mapping, ActionForm form , HttpServletRequest request , HttpServletResponse response){
List<NewsForm> list = newsservice.getAll();
request.setAttribute(Contants.NEWS_LIST, list);

return mapping.findForward("newslist");
}在页面里是这样显示的:2010-04-20 00:00:00.0 
可是结果返回的是集合,在这里我该怎么处理这个时间字段? 才能让他显示成 2010-04-20的呢?
请各位大虾帮帮忙

解决方案 »

  1.   

    截取字符串吧subString(0,9)...我经常这么干
      

  2.   


    Date d = DateFormat.parse("你的日期字符串");
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    String strd = sdf.format(d);
      

  3.   

    newsservice.getAll();
    这里的getAll()方法中取得时间的时候,就在方法体中subString或者format了,然后直接从集合中取出值,这个值就是你要的了。
      

  4.   

    我碰到过这个问题,很简单,在你的反向工程生成的.java文件设计时间的Date类型改为java.sql.Date类型就OK了
      

  5.   

    你看看这个页http://topic.csdn.net/u/20080515/20/562614c7-1f2a-4e60-bb19-5a2b883e0a83.html
    这个是用EL截取字符的。 你看看吧。 应该有帮助。。
      

  6.   

    对象list的类NewsForm中涉及时间的字段Date类型看看是什么Date字段,如果是java.util.Date那就会在页面显示时分秒之类的没用东西,如果用java.sql.Date类型就在页面只显示年月日了。
    明白?
      

  7.   

    遍历集合,取出每一个
    用标签<c:foreach items="你的日期集合" var="time">
    Date d = DateFormat.parse("time");
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    String strd = sdf.format(d);