cms 日志记录

   本来没怎么想写日志的,因为文笔不咋地,不过在做这个设计的时候,出现的问题确实比较多,今天决定还是记录下吧,可能以后有同样的错误的时候能记起来。

   先讲下做这个设计的前期准备。我是看到国内有开源的jeecms ,也想练练手,起码面试的时候能有得说做过该类型的项目。该cms 界面是放jeecms 的,但里面的数据库设计和构架都是由自己琢磨的。。可能是jeecms 这个开源项目我看的不是很懂,里面的内容也确实多,功能也强大,我这个只能算是小小的case。

 

————————————————————————————————————————————————————

2009.5.28-2009.5.30

 

1、对 html 的Frame 框架有了进一步的认识,以前没怎么使用过,不大记得各个Frame 怎么调用,刚好有同学在问了下,然后自己总结下,学到不少。

2、FreeMarker 的乱码问题。在设计中发现,乱码问题一般分为两种,一是页面的编码,二是发送数据的编码。在FreeMarker 中都能体现出来。

3、对Service 层的设计,有点犹豫,到底是把service层设计成action 的主要功能的逻辑,还是更细分点,设计成功能模块的一个小分点。最后选了第一种方案,设计成action 的每个功能的逻辑。

4、总结前期设计的错误,因为在service 层控制事务,主要和事务密切相关的的增删改功能,统一设计成add*、update*、delete*。方便Spring的事务控制。

5、对于异常的处理,也参照了以前的总结,在本人的blog上可以了解到。

————————————————————————————————————————————————————

2009.6.1  晴

 

1、OpenSessionInView 在ssh+FreeMarker 中的失效问题。原因是web.xml 的配置出错了,自己没注意到web.xml的实际的加载顺序,然后自己总结了下,web.xml 的加载顺序是:context-param -> listener -> filter -> servlet ,而同个类型之间的实际程序调用的时候的顺序是根据对应的 mapping 的顺序进行调用的。

在我的blog 上也对web.xml 做了详细的解释。网址为:http://zhxing.iteye.com/admin/blogs/399668

解决办法看了上面的加载顺序后很简单,只是把OpenSessionInView 的filter 的filter-mapping 放在了Struts2 的filter-mapping 的前面就可以了。

2、在struts2 的radio 和select 标签中无法使用FreeMarker 的hash 值。试了很多次,还是无法解决,网上也很多人说这个是个struts2中的bug ,当然换个别的方法解决也行的。一可以直接用html 标签,二是把值放到struts 值栈中,还有个解决的方法,不过感觉修改struts2的源码毕竟有点不大好,在这个网上有人给出的方法:http://www.iteye.com/topic/281493

 

_______________________________________________________________________________

 

 2009.6.3  阴

 

1、父子节点中,数据库的默认值问题。一直没找到怎么在Hibernate 中设置字段的默认值,找了找网上的解答,但没用上,不过也记录下。

2、ul、li 中的前面的圆点。可以用css 属性去掉。例如:<li style="list-style-type:none;">内容</li>

3、遇到一些逻辑的问题。这跟之前的代码构造有关,到底是选择代码冗余,还是代码清晰,当时构造时还没怎么认识到。

 

_______________________________________________________________________________

 

2009.6.10  晴

 

1、在二级联动下拉框的构建中,发现javascript 的add(option) 和appendChild(option) 在ie 和火狐 中会有两种不同的结果,都是其中一个用不了。解决方法是用了其他的生成方法,在本blog 中的二级联动 的文章中有提到。

2、在开发中发现Struts2 用json 插件时,用transient 修饰符 失效了,个人觉得是个bug。

3、在FreeMarker 的日期显示中,如果${article.firstdate} 输出的的话,在添加完文章转入页面的时候竟然会报错,这个有点奇怪,就只有增加个那个文章的时间不能显示而报错了。在后面增加了个${article.firstdate?string("yyyy-MM-dd HH:mm")} FreeMarker 的内置函数就不会出现问题了。。这个问题还没搞明白怎么回事。

4、在突然发现 OpenSessionInView 有时失效了,也弄了点时间,才发现,原来没有加上 .action 后缀,所以没被这个过滤器拦截了。 

_______________________________________________________________________________

 

2006.6.12 晴

 

1、对于多选框的默认值,还有下拉框的默认值在更新的时候要和实体的对应,这个当时确实有点麻烦。后来分析了下,用一个<#if>把默认值给包括了,如果if 里面的值相等,则设为已选。另外,在这里也用到了FreeMarker 的内置函数,seq_contains 用来判断当前值是否存在于数值或者序列中,关于FreeMarker的内置函数,确实很方便,以后也得继续多了解下。

2、关于权限管理,由于以前的错误分析,搞得现在得重新设计下,根据现在的情况,把权限设为url 的filter 或者拦截器来实现,可能会方便点,不过又有些麻烦,可能要改变一些方法的名称来设置权限,这确实有点头疼。正在寻找方法解决。

 

_______________________________________________________________________________

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值