- 浏览: 133236 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
c_lzs:
good!!!!!!!!!!!!!!!!!
itext生成只读pdf文档 -
okbey333:
谢谢,困扰了好久
安装好maven,在dos下输入mvn -version, 提示不是内部命令的问题 -
ctrain:
我很少上Iteye,只是偶尔会在上面查查资料,jeecms是以 ...
Jeecms之new标签实现 -
ctrain:
不好意思,我也记不清了,3,4年前做的了,我现在换公司了,也没 ...
Jeecms之new标签实现 -
夜曲6763:
跟7楼一样的问题。。。
Jeecms之new标签实现
现有一需求如下:
按时间段查询及留言状态(已回复,未回复,已审批)来查询留言。
当时的想法是这样子的,首先要把查询的条件通过页面传递到后台。于是在后台管理中找看有没有类似的功能,费了半天劲还真给找了一个有条件查询的例子,那就是文章内容的查询。
接手该项目时有留言状态代码,如下:
关于查询条件是怎么传递到后台,一开始是用request.getParameter();数据顺利的传递到后台。在action中将查询条件放入放入到获取数据的页面中也能够查出数据。为了美观考虑所以我建议将超链接改为了button,代码如下:
当时以为能够查出数据应该就没什么问题了。再就是当时别的需求比较急,于是将此放在了一旁。等别的任务完成后,准备将此功能修改好一起测试。刚一测就发现了问题:点击下一页时直接找不着页面。 于是赶紧在action中将查询条件参数打印到控制台。发现分页的时候页面参数根本没有传递到后台去。
查看了前台的代码及@p.table源码后才发现查询条件是一个form,分页是另外封装好的一个form。那么点击分页的时候当然不能将查询的form中的参数一并传过去。记得当时还在网上搜怎么样一次将两个Form中的数据提交到后台,结果找了半天也没查到,结果郁闷了好半天。
自己不能搞定当然不能坐以待毙,还得请高人指点。
先用httpwatch观察文章查询时的数据传递情况,结果发现条件查询的数据全部传递过去的。接着查看文章列表的源码发现了下面的情况:
说明数据是通过隐藏域的方式提交过来的,我进行过一些测试,发现查询条件不同时隐藏域的个数是不一样的,那么说明是通过动态的方式产生隐藏域的。 由于分页是有@p.table标签封装的,于是查看了半天的源码(table.ftl)文件。
看了很长时间终于发现了下面的代码(如果freemarker不是很精通的话头会变大的)隐藏了细节。
究竟是哪一个起作用,到底该如何做。这个也是看了很久才看明白。其实动态将表单中的参数生成到分页form中的就是下面的语句:
其中最关键的词语就是最后的条件starts_with('query'),于是赶紧查看文章列表的参数是不是query开头。 于是我也将我的留言的查询参数的name也全部改为了已小写query开头,并将三个按钮该为了一个select下拉框外加一个查询俺就。后台的参数通过setter(),getter()方法,果然数据就能通过分页传递到后台去了。暗自庆幸了一会发现问题又来了。分页是没有什么问题了,可进行不同状态留言的时候却发现后台立马报错。查看后台的打印参数才明白,原来从页面传递过来的参数分别传递了2次,也就是后台获得数据是两次查询的数据拼接的,自然就报错了。
搞了半天终于明白是@form标签中将已query开头的字段也封装成了隐藏域,代码如下:
终于搞明白缘由,于是赶紧将条件查询的freemarker标签定义的@p.form改为普通的form,但是报了个更加离谱的错误freemarker错误。没得办法,只得将条件先删掉调试,发现删掉后显示正常。确定产生异常的原因因该是时间组件报的错,于是将@p.text时间标签改造为普通的时间标签,结果发现数据显示正常了。 参数的初始化。(注:${}一定要放在""里,要不然会产生不可预料的结果,教训啊,教训!)
按时间段查询及留言状态(已回复,未回复,已审批)来查询留言。
当时的想法是这样子的,首先要把查询的条件通过页面传递到后台。于是在后台管理中找看有没有类似的功能,费了半天劲还真给找了一个有条件查询的例子,那就是文章内容的查询。
<@p.text colspan="1" width="45" label="起始时间" name="queryStartDate" id="queryStartDate" readonly="readonly" size="24" onclick="WdatePicker({dateFmt:'yyyy-MM-dd'})" class="Wdate" /> <@p.text colspan="1" width="50" label="结束时间" name="queryEndDate" id="queryEndDate" readonly="readonly" size="24" onclick="WdatePicker({dateFmt:'yyyy-MM-dd'})" class="Wdate" />
接手该项目时有留言状态代码,如下:
<a href="/web/admin/auxiliary/msg/Com_list.do?group_state=0_" >[未回复]</a> <a href="/web/admin/auxiliary/msg/Com_list.do?group_state=0_true" >[已回复]</a> <a href="/web/admin/auxiliary/msg/Com_list.do?group_state=1_true" >[已审核]</a>
关于查询条件是怎么传递到后台,一开始是用request.getParameter();数据顺利的传递到后台。在action中将查询条件放入放入到获取数据的页面中也能够查出数据。为了美观考虑所以我建议将超链接改为了button,代码如下:
<td width="20px" align="left"><@p.button value="未回复" onclick="submit_date('0_');" /></td> <td width="20px" align="left"><@p.button value="已回复" onclick="submit_date('0_true');" /> <@p.button value="已审核" onclick="submit_date('1_true');" /></td> function submit_date(group_state){ var form = document.getElementById("submitForm"); alert("form.aciton:"+form.action); form.action = form.action+"?group_state="+group_state; form.method = "post"; form.submit(); }
当时以为能够查出数据应该就没什么问题了。再就是当时别的需求比较急,于是将此放在了一旁。等别的任务完成后,准备将此功能修改好一起测试。刚一测就发现了问题:点击下一页时直接找不着页面。 于是赶紧在action中将查询条件参数打印到控制台。发现分页的时候页面参数根本没有传递到后台去。
查看了前台的代码及@p.table源码后才发现查询条件是一个form,分页是另外封装好的一个form。那么点击分页的时候当然不能将查询的form中的参数一并传过去。记得当时还在网上搜怎么样一次将两个Form中的数据提交到后台,结果找了半天也没查到,结果郁闷了好半天。
自己不能搞定当然不能坐以待毙,还得请高人指点。
先用httpwatch观察文章查询时的数据传递情况,结果发现条件查询的数据全部传递过去的。接着查看文章列表的源码发现了下面的情况:
<input type="hidden" name="id"/> <input type="hidden" name="pageNo" value="2"/> <input type="hidden" name="chnlId" value="76"/> <input type="hidden" name="queryInputAdminId" value=""/> <input type="hidden" name="queryTitle" value="公积金"/> <input type="hidden" name="queryTopLevel" value="0"/> <input type="hidden" name="queryOrder" value="0"/> <input type="hidden" name="queryContentCtgId" value="1"/> <input type="hidden" name="queryStatus" value="3"/>
说明数据是通过隐藏域的方式提交过来的,我进行过一些测试,发现查询条件不同时隐藏域的个数是不一样的,那么说明是通过动态的方式产生隐藏域的。 由于分页是有@p.table标签封装的,于是查看了半天的源码(table.ftl)文件。
看了很长时间终于发现了下面的代码(如果freemarker不是很精通的话头会变大的)隐藏了细节。
<input type="hidden" name="${keyId}"/> <@p.hidden name="pageNo" /> <#list keepParams as keep> <@p.hidden name="${keep}" /> </#list> <#list Parameters?keys as pkey> <#if pkey!=keyId && pkey!=batchId && !keepParams?seq_contains(pkey) && pkey?starts_with('query')> <@p.hidden name="${pkey}" /> </#if> </#list>
究竟是哪一个起作用,到底该如何做。这个也是看了很久才看明白。其实动态将表单中的参数生成到分页form中的就是下面的语句:
<#list Parameters?keys as pkey> <#if pkey!=keyId && pkey!=batchId && !keepParams?seq_contains(pkey) && pkey?starts_with('query')> <@p.hidden name="${pkey}" /> </#if> </#list>
其中最关键的词语就是最后的条件starts_with('query'),于是赶紧查看文章列表的参数是不是query开头。 于是我也将我的留言的查询参数的name也全部改为了已小写query开头,并将三个按钮该为了一个select下拉框外加一个查询俺就。后台的参数通过setter(),getter()方法,果然数据就能通过分页传递到后台去了。暗自庆幸了一会发现问题又来了。分页是没有什么问题了,可进行不同状态留言的时候却发现后台立马报错。查看后台的打印参数才明白,原来从页面传递过来的参数分别传递了2次,也就是后台获得数据是两次查询的数据拼接的,自然就报错了。
搞了半天终于明白是@form标签中将已query开头的字段也封装成了隐藏域,代码如下:
<#if query=="true"> <@p.hidden name="pageNo" /><#rt/> <#list Parameters?keys as pkey> <#if pkey?starts_with('query')> <@p.hidden name="${pkey}" /> <#t/> </#if> </#list> </#if>
终于搞明白缘由,于是赶紧将条件查询的freemarker标签定义的@p.form改为普通的form,但是报了个更加离谱的错误freemarker错误。没得办法,只得将条件先删掉调试,发现删掉后显示正常。确定产生异常的原因因该是时间组件报的错,于是将@p.text时间标签改造为普通的时间标签,结果发现数据显示正常了。 参数的初始化。(注:${}一定要放在""里,要不然会产生不可预料的结果,教训啊,教训!)
function init(){ var tempDate = new Date(); var currDate = ChangeDateToString(tempDate); var startDate = document.getElementById("queryStartDate"); var endDate =document.getElementById("queryEndDate"); <#if queryStartDate??> startDate.value = "${queryStartDate}"; endDate.value = "${queryEndDate}"; <#else> startDate.value =currDate; endDate.value = currDate; </#if> <#if queryResponseStatus??> document.getElementById("queryResponseStatus").value="${queryResponseStatus}"; <#else> document.getElementById("queryResponseStatus").option[0].selected = true; </#if> } function ChangeDateToString(DateIn){ var Year = 0; var Month = 0; var Day = 0; var CurrentDate = ""; //初始化时间 Year = DateIn.getYear(); Month = DateIn.getMonth()+1; Day = DateIn.getDate(); CurrentDate = Year + "-"; if (Month >= 10 ){ CurrentDate = CurrentDate + Month + "-"; } else{ CurrentDate = CurrentDate + "0" + Month + "-"; } if (Day >= 10 ){ CurrentDate = CurrentDate + Day ; } else{ CurrentDate = CurrentDate + "0" + Day ; } return CurrentDate; } </script>
发表评论
-
POI读写海量数据
2015-03-29 15:45 729import java.io.FileOutputStream ... -
hibernate使用sql查询
2013-05-09 13:21 971import java.util.Iterator; i ... -
Spring获取SessionFactory
2013-04-26 17:38 6089String sql = "select sys ... -
Nutz配置Jndi
2013-04-07 09:13 8981、使用JNDI获取指定资源: var ioc = { ... -
验证码错误解决
2013-03-20 17:19 0http://blog.csdn.net/mycomputer ... -
安装好maven,在dos下输入mvn -version, 提示不是内部命令的问题
2012-12-17 12:06 26611在安装mvn的过程中当在mvn的目录下去执行mvn命令的时候是 ... -
中文编码测试
2012-11-04 11:16 953循环打印转换编码 String[] codes = { ... -
策略模式小练习
2012-10-13 23:38 857练习: 假如有若干个person对象保存在list对象之中,对 ... -
小练习--统计通过args传递进来的单词出现次数
2012-10-13 09:40 997public static void main(Strin ... -
求两个字符串去掉重复字母后所包含字符
2012-05-28 13:39 2808要求如下: 如有字符串“AABBCDEFG”,“EEF ... -
一个卫语句
2012-04-26 20:47 3258修改前: public Map updateUnitChk ... -
Jeecms之JSP访问action类
2011-12-21 10:51 2379因为Jeecms采用spring容器管理类,在web容器加载的 ... -
Jeecms之编辑器表格对齐及图片插入
2011-12-21 10:48 2026a)表格对齐问题 问题描述:将word中的表格粘贴到编 ... -
Jeecms之new标签实现
2011-12-21 10:45 3699步骤1:添加new标签字段 SQL:alter tab ... -
java正则过滤html标签属性
2011-11-07 17:54 1021String testStr = "<div ... -
Jeecms之固定取消不了
2011-10-16 18:03 1173问题描述:后台管理员发现当想取消某新闻固定时,在客户端 ... -
网页抓取小结
2011-10-06 22:13 878网页抓取步骤: 1.将页面转化为流(或字符串 ... -
java日期格式化
2011-09-20 11:56 822用法: DateFormat dFormat = new ... -
zip打包单个文件
2011-07-11 23:01 857网上有诸多打包一个文件夹的例子,但是缺少打包单个文件的 ... -
JDBC读取CLOB
2011-07-01 23:45 7841CLOB用于存储大量的字符数据,读取CLOB的JDBC ...
相关推荐
强大的jeecms平台,实现没有编程基础,只要懂得HTML就能轻松制作网站的平台
在二次开发方面,jeecmsV6支持元件式无限插件扩展方式,开发者根据jeecms的插件开发标准所开发出来的插件,插件与jeecms是平行的,无论是插件升级还是jeecms系统升级,都可以实现独立升级,插件与插件、插件与jeecms...
JEECMS
jeecms9.2源代码文件 环境软件可以从以下网址中获得 Jdk 7.0 下载址: http://java.sun.com/javase/downloads/index.jsp Tomcat7 下载地址:https://tomcat.apache.org/download-70.cgi MySQL 5.0.22 下载地址:...
五、面向未来的过渡,JEECMS v2.3.2 Final版是JEECMS面世以来发布的第一个正式版本,具有更大的灵活性和稳定性;-一、系统内核完全开源,为用户提供透明的管理平台,为java初学者提供良好的学习平台; 二、核心模板...
jeecms 标签使用说明 jeecms 标签使用说明 jeecms 标签使用说明
jeecms二次开发简要说明文档之开发篇
自己整理的jeecms的标签,以及一些常见的问题,欢迎朋友们分享。
摘要:JSP源码,CMS系统,JeeCMS jeecms v2012版是一款集新闻管理、图库管理、视频管理、下载系统、作品管理、产品发布及留言板于一体的综合性CMS系统。 jeecms v2012版新增功能如下: 1、新增统计功能 1.1...
jeecms完整全功能版——源代码,压缩包3,去掉后最gz,配合压缩包1解压。
JEECMSv8.1是一款支持微信小程序、栏目模型、内容模型交叉自定义、以及具备支付和财务结算的内容电商为一体内容管理系统:通过后台的简单设置即可自定义出集新闻管理、图库管理、视频...doc/jeecms模板置标使用手册.doc
JEECMS后台地址修改:JEECMS修改后台地址比较麻烦,按照文档上的步骤操作可以进行修改
欢迎使用JEECMS v9.2版,请按照以下步骤进行软件安装: 一、安装运行环境(JDK7+TOMCAT7+MYSQL5及以上,具体安装过程请参考本下载包中的相关说明文档); 二、将程序解压后的ROOT文件夹拷贝到tomcat安装目录下的...
本教程主要对JEECMS安装步骤以及在JEECMS安装过程中常见的问题进行了详细的介绍与解答。
jeecms 数据库表结构
jeecms oracle 官方版本
jeecms 数据库说明,此文档详细解释jeecms数据库的设计
就是jeecms5.0的数据库,直接放到mysql中执行就行了。很简单
Jeecms标签使用手册,内容非常详细。
jeecms数据结构powerdesigner模型