Action 里的简要代码 conn.prepareCall("{call "+procedure+"(?)}"); stmt.setObject(1,sql); bl=stmt.execute(); CachedRowSetImpl crs =stmt.getResultSet(); this.dbService.convertList(crs); convertList函数如下 public List convertList(CachedRowSetImpl rs) { List list = new ArrayList(); try{ ResultSetMetaData md = rs.getMetaData(); int columnCount = md.getColumnCount();
while (rs.next()) { Map rowData = new HashMap(); for (int i = 1; i <= columnCount; i++) { rowData.put(md.getColumnName(i), ""+rs.getObject(i)+""); } list.add(rowData); } rs.close(); rs=null; } catch(Exception e){e.printStackTrace();} return list; }前台页面直接用jstl输出
如果是你的JAVA自身的日期显示控制问题,则估计需要找到正确的JAVA包的版本。 具体JAVA有关的你可以到JAVA版去咨询一下。
所以,有必要检查应用层:
1. Java connector( jdbc驱动)版本是一样的吗?(两个平台)
2. 在你的应用当中, 是不是用了什么日期格式显示设置把代码帖出来,最好。这种问题一般比较容易解决。
conn.prepareCall("{call "+procedure+"(?)}");
stmt.setObject(1,sql);
bl=stmt.execute();
CachedRowSetImpl crs =stmt.getResultSet();
this.dbService.convertList(crs);
convertList函数如下
public List convertList(CachedRowSetImpl rs) {
List list = new ArrayList();
try{
ResultSetMetaData md = rs.getMetaData();
int columnCount = md.getColumnCount();
while (rs.next()) {
Map rowData = new HashMap();
for (int i = 1; i <= columnCount; i++) {
rowData.put(md.getColumnName(i), ""+rs.getObject(i)+"");
}
list.add(rowData);
}
rs.close();
rs=null;
}
catch(Exception e){e.printStackTrace();}
return list;
}前台页面直接用jstl输出
在输出之前,必须得用 SimpleDateFormat("yyyy-MM-dd HH:mm:ss")格式化一下。不信你试试这个:
java.sql.Timestamp ts = new java.sql.Timestamp(0);
System.out.println(ts);
也会多打一个.0
System.out.println(ts);
是会多打个.0出来 看来都要format一次了 多谢2位的帮忙