js如何实现将文件保存到本地 实现查询条件的保存

实现查询条件的保存
任务背景
在带参数的报表应用中 在查询的应用中 同一个用户每次查询所用的参数值或者查询条件往往是相同的 或者说常用的总是那几种查询条件 如果每次都让用户输入相同的条件值 用户会觉得很烦 于是用户往往会提出 能否提供查询条件保存的功能
面临困难
所谓的查询条件的保存 乍一听似乎很简单 实际做起来并不容易 最直接的是要和用户关联 因为某个用户输入的查询条件 只能提供给该用户使用 不能 让别的用户看见 其次 要考虑和报表模块 查询模块关联 因为同一个用户在不同的报表模块 查询模块里用的查询条件是不同的 另一个要考虑的是查询条件的存储格式 因为不同模块的参数个数 参数名均不相同 所以查询条件的存储格式要能够灵活扩充灵活解析 除了存储格式 还需要考 虑存储位置 由于和用户关联 很多人直接想到的是采用cookies来实现 可是由于是WEB应用 客户端的机器可能随时会发生变化 比如用户可能在办公 室上网 也可能在家里上网 在家里用另一台机器 于是预先存储的查询条件就没了 另外 由于每一个模块用户都可能存储多个查询条件供选择 cookies 用起来还是不方便 因此 查询条件最好保存到服务器上 接着 还需要考虑界面上的制作 在原先的参数输入页面上 要提供一个历史查询条件的下拉选项 该下拉选项从服务器存储的查询条件里读取 其次还需要做一个 查询条件是否保存的选项 如果保存 则提供保存名称的编辑框 做好这些之后 服务器端的程序还需要写不少 首先根据客户端的输入情况 判断使用历史查询条件还是使用当前的输入值 如果使用历史查询条件 则到库中读 取 如果使用当前的输入值 还需要处理是否保存查询条件 总之 做起来非常麻烦!而所有这些程序还要考虑通用性 否则每个模块写一遍 那不是累死了!基于以上的考虑 建议还是采用快逸报表的 参数模板+参数处理类 来实现 简单方便许多 具体步骤描述如下
实现步骤
设计一个参数模板 该模板里增加三个多余的参数 是否保存参数值 保存名 历史查询
在参数处理类里 如果读取到需要保存参数值 则将参数值按名字存入一张预先设计的参数值表中 该表的结构为 用户名 报表名 保存名 参数名与值 建表SQL如下
CREATE TABLE param (
userName varchar( ) not null
reportName varchar( ) not null
saveName varchar( ) not null
argName varchar( ) not null
saveValue varchar( ) )
用户访问该参数模板的时候 可以输入新的参数值 并选择是否把新输入的参数值保存下来 也可以选择历史保存的参数值进行查询 不需要重复的输入
lishixinzhi/Article/program/Java/hx/201311/26437