查看文章 |
完善的表格显示标签,应该具备如下功能点 2. 支持代码转名称,如查询结果有operator_id,应能支持转换显示operator_name 4.支持表格样式由模板文件生成, 5.支持透明的分页,即生成的分页超链接,必须携带所有请求参数(遍历request),跳转下一页,防止查询条件丢失 7 显示格式format,如日期,数字 8. 支持可扩展的多种格式导出 9. 支持国际化
时间比较长的开源项目display tag, 好像也很差劲 个人认为,表格显示、数据库查询、分页、排序、导出,本来就是一体的,所以有如下设计
1. sql.xml, 存放SQL语句 <sql> <query-name>sysadmin.queryOperator</query-name> <sql-string> select operator_id,operator_name,emai from t_operator where operator_name = $varchar2{operator_name} or $varchar2{opeartor_name} is null </sql-string> </sql> 说明: SQL语句必须使用绑定变量方式,即PreparedStatement,所以$varchar2{operator_name}来表示varchar2类型的参数值, 其中operator_name来至于pageContext,request,session中属性,有数据显示标签收集替换SQL语句中的参数部分 特别注意:必须使用绑定变量,不然会有性能及SQL注入的漏洞
2. 数据显示标签, 与sql.xml绑定 <chinablog:table title="员工列表" query-name="sysadmin.queryOperator " defaultSortColumn="operator_name" exportType="pdf,excel,csv"> <chinablog:column text="${operator_id}" titile="操作人员ID" /> <chinablog:column text='<a href="editOperator.do?id=${operator_id}">${operator_name} </a>' title="姓名" sort="true"/> <chinablog:column text="${email}" titile="电子邮件"/> </chinablog:table>
如此,数据显示只需要定义xml,以及在jsp里放一个表格显示tag而已,简单,可靠 |