我有一个 groovy 脚本,它从 MYSQL 数据库中提取多个字段并将数据插入到 HTML 表中,同时我找到了lastModified()
被拉入数据库的文件的日期。
我发现了一个非常相似的主题:“通过 lastModified() 对文件进行排序”,但是我的问题是我实际上从未将数据放入地图或列表中,而是构建了 xml 并调用查询sql.eachRow(query)
以将正确的字段插入到表,然后lastModified()
在 xml 本身中找到日期。
我无法在查询中进行排序,因为我必须lastModified()
从 groovy 脚本中获取日期。所以我有两个问题,是否可以使用我发布的代码中的设置按上次修改日期进行排序?如果是这样,我需要在哪里实际执行排序,以便在 HTML 表上正确排序?我应该说我对 Groovy 和 Java 非常陌生,并且在试图弄清楚这些事情时很糟糕,所以任何关于你在哪里找到这些信息的提示都会很棒。
类似的主题,但不是我正在寻找的主题:
- 如何对从 MySQL 调用的 HTML 表的行进行排序<--真的在看这个,但它在 php 中
- http://groovy.329449.n5.nabble.com/Sorting-files-by-lastModified-td362691.html <--这但试图对表格进行排序
- http://www.kryogenix.org/code/browser/sorttable/#totalsrows <--这很好,但在 groovy 中可能吗?
我的代码,我不得不改变一些东西:
sql = Sql.newInstance("location of database", "username", "password", "driver")
writer = new StringWriter()
def xml = new MarkupBuilder(writer)
rptDate = new java.util.Date()
query =
"""
query stuff
"""
xml.html(){
xml.head(){
xml.title("Title")
xml.body(){
xml.h1("Title")
xml.table(border:1, cellpadding:5){
xml.tr(){
xml.th("ID")
xml.th("Date Added")
xml.th("Hospital Name")
xml.th("Total Daily Clients")
xml.th("Total Daily Pets")
xml.th("Last Upload Date")//lastModified() date
}//end headings
//insert data from query into each row of the table
sql.eachRow(query)
{row ->
xml.tr(align:'center'){
xml.td("${row.ID}")
xml.td("${row.DateAdded}")
xml.td("${row.HospitalName}")
xml.td("${row.TotalDailyClients}")
xml.td("${row.TotalDailyPets}")
//find lastModified() dates for incoming files and format them
mod = new File("/home/me/folderforfiles/${row.ID}.zip").lastModified()
fd = new Date(mod).format("EEE MMM dd hh:mm:ss a yyyy")
//insert into table
xml.td(fd)
}//end table data
}//end loop
}//end table
}//end body
}//end title
}//end html
println writer.toString()