我设置的是通过日期进行查询,sxrq1是从页面获得的失效日期,sxrq2是第二个查询条件,我要设置对sxrq1进行初始值默认显示为当前日期,功能已经实现,可是第一次页面可以出来,再点一下就报错了,不知道怎么改,
protected void populateQueryContext(RenderRequest request, EntityQueryContext queryContext) throws Exception {
queryContext.setPagination(true);
queryContext.getQueryData().put("bt", getParameter("bt", request));
SimpleDateFormat sdfDateFormat = new SimpleDateFormat("yyyy-MM-dd");
if(request.getPortletSession().getAttribute("sxrq1")==null){
request.getPortletSession().setAttribute("sxrq1", new Date());
request.setAttribute("sxrq1", sdfDateFormat.format(new Date()));
queryContext.getQueryData().put("sxrq1", sdfDateFormat.format(new Date()));
}
else{
queryContext.getQueryData().put("sxrq1",getParameter("sxrq1", request));
}
queryContext.getQueryData().put("sxrq2", getParameter("sxrq2", request));
} }
我感觉是
queryContext.getQueryData().put("sxrq1", sdfDateFormat.format(new Date())有问题,这个是API
http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html#format(java.util.Date, java.lang.StringBuffer, java.text.FieldPosition)
还有,你最好把错误发全了,要不很难给你看。
追问queryContext.getQueryData().put("sxrq1",getParameter("sxrq1", request));是这行出错else的时候