在师父的讲解下,搞定了。本文章只用于分享学习经验,没有其他用意。希望大家培养开源的精神。
可能有有些一露的地方,大家看下前两篇文章。
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
UserDao dao=new DaoImp();
List<Log4j> all=new ArrayList();
int pageCount = 4;//设置页数
int pages=dao.getPages(pageCount);
String webpagestr=createWebPage(pages);
for(int i=0;i<pages;i++){
all=dao.all(pageCount*i-i, pageCount);
creatHtml(request, all, i,webpagestr);
}
request.setAttribute("list", all);
return mapping.findForward("suce");
}
private String createWebPage(int pages) {
//设定连接页
StringBuilder webpagestr = new StringBuilder();
final String pagelink="<a href=";
for(int n=0;n<pages;n++){
//拼接连接
webpagestr.append(pagelink).append("log").append(n).append(".html>")
.append(n).append("</a>")
.append(" ");
}
String sss= webpagestr.toString();
return sss;
}
protected void creatHtml(HttpServletRequest request, List<Log4j> all,int pages,String webpagestr)
throws FileNotFoundException, IOException {
//------生成HTML-------------------------------
String filePath = "";
filePath = request.getRealPath("/")+"template.html";
/******** begin ************/
final String beginForHtmlTag = "<###for###>";
final String endForHtmlTag = "</###for###>";
FileInputStream input=new FileInputStream(filePath);
int length=input.available();
byte[] b=new byte[length];
input.read(b); //读取模板
String result = new String(b);//获取内容
int beginIndex = result.indexOf(beginForHtmlTag);
int endIndex = result.indexOf(endForHtmlTag);
String begin = result.substring(0, beginIndex);
String end = result.substring(endIndex+endForHtmlTag.length());
String table=result.substring(beginIndex+beginForHtmlTag.length(), endIndex);//get table
/**
* 替换所有
*/
StringBuilder content=new StringBuilder();
for(Log4j log4j:all){
String temp = table.replace("###username###",log4j.getUsername());
temp = temp.replace("###classs###",log4j.getClasss());
temp = temp.replace("###method###",log4j.getMethod());
temp = temp.replace("###leve###",log4j.getLogLevel());
temp = temp.replace("###mess###",log4j.getMessage());
temp = temp.replace("###titme###",log4j.getCreateTime());
content.append(temp);
}
result=begin+content+"<br />current pages:"+pages+"__"+webpagestr+end;
/******** end ************/
// 根据时间得文件名
// Calendar calendar = Calendar.getInstance();
// String fileame = String.valueOf(calendar.getTimeInMillis()) +".html";
String fileame ="log"+pages+".html";
//生成html路径
fileame = request.getRealPath("/")+fileame;//生成的html文件保存路径
//写入
FileOutputStream fileoutputstream = new FileOutputStream(fileame);
byte tag_bytes[] = result.getBytes();
fileoutputstream.write(tag_bytes);
fileoutputstream.close();
//---------------------------
}
}
分享到:
相关推荐
选择数据库->attach->左面对话框中browse->view log->就可以看到log记录了 点击“View DDL Commands”里面就有很多drop table 命令 点击下面的“undo”按钮是生成表结构的语句(create table ....) 点击下面的...
如果被删除数据与有IDENTITY Property属性,恢复时LogExlpore可以通过SET IDENTITY_INSERT ON 命令来对插入的数据设置Identity属性,并保留原数据不变,也可以对该列付与新值。 数据导出: 浏览日志时可将数据导出...
服务器端代理是保存在SQLServer主机中的一个只读存储过程,他的作用是接受客户端请求,读取在线事物日志块并通过网络传给客户端软件,由客户端软件来读取这些原始的数据块来完成Log Explore所提供的所有功能。...
如果被删除数据与有IDENTITY Property属性,恢复时LogExlpore可以通过SET IDENTITY_INSERT ON 命令来对插入的数据设置Identity属性,并保留原数据不变,也可以对该列付与新值。 数据导出: 浏览日志时可将数据导出...
如果被删除数据与有IDENTITY Property属性,恢复时LogExlpore可以通过SET IDENTITY_INSERT ON 命令来对插入的数据设置Identity属性,并保留原数据不变,也可以对该列付与新值。 数据导出: 浏览日志时可将数据导出...
# InnoDB为独立表空间模式,每个数据库的每个表都会生成一个数据空间 # 独立表空间优点: # 1.每个表都有自已独立的表空间。 # 2.每个表的数据和索引都会存在自已的表空间中。 # 3.可以实现单表在不同的数据库中...
Apache DBunit 的 java Swing gui 和数据生成器,用于用随机数据填充 MySql 5.X 数据库。 功能列表: 清理所有数据库... 将生成的数据导出为sql插入语句用于调试目的的 Log4j 日志系统访问: : 了解更多信息和细节!!
14. 每个Oracle 10g数据库在创建后都有4个默认的数据库用户:system、sys、sysman和DBcnmp 15. Oracle提供了两种类型的权限:系统权限和对象权限。系统权限提供了在Oracle数据库系统范围内执行某种任务的操作能力...
演示界面审核日志列表: 详细信息页面:安装将此行添加到您的应用程序的Gemfile中: gem "audit-log" 然后执行: $ bundle 生成文件: $ rails g audit_log:install用法在控制器中使用: class TicktsController <...
objExcelApp.ActiveChart.ChartTitle.Text = "Visitors log for each week shown in browsers percentage" objExcelApp.ActiveChart.SetSourceData objExcelSheet.Range("A1:k5"),1 objExcelApp.ActiveChart....
本书由专业Informix用户、数据库管理员、Informix管理员和应用程序开发员编写而成,把各大Informix产品的方方面面综合、深入地集中在一起,包括最新Informix产品的详细信息,如Informix Internet Foundation.2000...
当网站的广告比较多时,管理会很麻烦,本系统就是为方便网站上广告的管理而设计的网站插件程序,支持“广告内容 广告ID 广告备注 广告规格 ”等数种广告的搜索管理,让你很方便的查找到你加的广告并进行修改!...
Java Excel API—用于读取、写入和修改Excel电子表格的Java API JExcelApi Java Excel API是一个成熟的开放源码Java API,允许开发...支持使用Jakarta Commons logging、log4j、JDK 1.4 Logger等进行日志记录 更多...
" " "备注 " " super_ log_info(超级管理员日志信息数据表) "编号 "字段名 "类型 "字段意义 "备注 " "1 "id "int " " " "2 "user "varchar(64) "用户名 "人物 " "3 "time "datetime "时间 "时间 " "4 "ip "varchar...
当网站的广告比较多时,管理会很麻烦,本系统就是为方便网站上广告的管理而设计的网站插件程序,支持“广告内容 广告ID 广告备注 广告规格 ”等数种广告的搜索管理,让你很方便的查找到你加的广告并进行修改!...
执行存储过程,通过指定目标数据库登录信息,动态生成dblink,打开游标,按批次插入本地指定表中,每批次1万条数据。同步记录和日志信息写在自动生成的sync_log表中。同步完成后自动删除动态生成的存储过程、dblink...