1.主子表关联时,可将主表对应子表记录的方法,全写在子表中,主表只做调用。
2.删除对应记录集时,底层可以直接删除符合条件记录,而不用找到实体后,再通过id删除
3.在写新增、修改、删除的方法时,最好用前面带add/delete/edit的方法,因为在spring事务管理中有为这些方法开头的添加了事务。
4.在Action中sendRedirect(req, res);容易导致页面跳转异常
可用setForward(req, "ext.projectmanage.task.view");指定跳转地址
或用res.sendRedirect(redirect);指定返回的页面地址
5.类和jsp文件都正确,却无法添加数据的原因:Hibernate等配置文件没有添加
ext-hbm.xml ext-model-hints.xml ext-spring.xml
6.获取变量前先判空,避免发生异常
7.Form提交要写明提交方式(如method="post")否则可能导致页面跳转异常
8.LocalServiceImpl中的方法继承LocalServiceBaseImpl,所以方法应该重载,即方法名不同或参数不同。否则不会被调用,被调用的则是LocalServiceBaseImpl。
9.找不到某个类的原因,特别是跟数据库操作有关的,有可能是三个配置文件中缺少了该类对应的配置。
10.Action调用LocalServiceUtil中的方法,为了保持事务性,这些方法必须在LocalServiceImpl中调用PersistenceImpl中的相应方法。否则有时会报Session未绑定线程,未进行事务处理。
11.在通讯录中添加员工后,需要在后台管理中为该用户添加相应社区,才可以浏览相关页面。
12.参数不能传递的原因,跟踪其所经过的所有页面,特别是jspPortlet的管理页面,参数也必须在管理页面获取并传递。
13.在Liferay中使用jQuery.blockUI时添加gif图片不能显示,但在外部测试时可以显示,原因未知。解决方法:
jQuery.blockUI({message:jQuery('#loadData')}); 使用jQuery获取Div中的Html
图片和文字不能对齐的解决方法:使用Table对齐,将cellspacing="0"
14.使input type="file" 不可编辑
(1).变通处理:
<input type=file id=a1 style="visibility:hidden">
<input id=a2 type=text readonly>
<input type=button value=浏览 onclick="a1.click(); a2.value= a1.value">
(2).增加如下属性:
contenteditable="false"
实例代码:
<input type="file" style="width: 446px" id="ptlFile" contenteditable="false"/>
15.开发时应注意的几点问题:
(1)参数保存(查询、页数、页条数)
(2)更新保存高亮
(3)表单验证和提交时的问题,提交后刷新重复提交的问题
(4)
16.div 中图片和文字对齐的方法
内部使用<span> 可以防止换行,使用vertical-align:middle 属性可以将图片和文字对齐
17.直接在页面获取user对象的属性
String emailAddress = user.getEmailAddress(); 因为user对象是内置对象,所以可以直接访问
18.数据测试点:(1)最大字数 (2)正常数据 (3)无数据
19.编译后出现$1.class与$2.class的情况: 这是因为我们的类中存在匿名类
20.double四舍五入的方法:
double d = 22.365434;
BigDecimal a = new BigDecimal(d);
//第一个参数2是小数点后保留几位,第二个是四舍五入
System.out.println("a.setScale(2,BigDecimal.ROUND_HALF_UP)=" + a.setScale(2, BigDecimal.ROUND_HALF_UP));
或者:
double value = 22.365454;
DecimalFormat df = new DecimalFormat("##.00");
value = Double.parseDouble(df.format(value));
System.out.println(value);
21.jsp_portalet 和 struts_portalet 的区别
(1)liferay-portalet-ext中 jsp_portalet 的<use-default-template>属性应为true,否则不显示设置面板
而struts_portalet若为true则会导致设置面板重复显示
22.在Portal系统中,文件的路径若使用相对路径,均得从html/portlet开始,否则会找不到路径
23.在开发时遇到某些标签,想使标签中的下拉选项和图片不可用,但是不好获得标签的属性,最后用jQuery轻松解决。先获取该div(或td下的所有select,然后使其不可用,再使它下面的图片隐藏就OK了)。当然,记得再触发回来时将它显示。
jQuery('#entryDateChart select').attr('disabled','disabled');
jQuery('#entryDateChart img').hide();
开发应注意的问题
1.测试时应细心,注意细小的样式问题
2.注意思考逻辑,检查是否遗漏问题
3.将开发中遇到的问题收集
4.打包文件时,注意文件的修改时间
5.记录下修改系统的每一点