项目开发的几个注意事项(长期总结)

1、不要在地址栏里面使用中文传值,因为浏览器服务器以及程序应用的字符编码各不相同,中文太容易出现乱码问题的。
2、js当中也可以用paraseInt这个方法将变量转化成int来进行数学计算。
3、数据库里面查出来的数据是不会影响编码的。
4、oracle数据库的导入命令是 imp bbs/bbs@base file=d:\test.dmp full=y
5、oracle数据库中没有=<只有>=
6、hql语句中也可以使用oracle的函数 如to_char(person.id)
7、html中select获得option的使用方式是:

var start_month = document.getElementById('start_month').options[document.getElementById('start_month').selectedIndex].value

8、Calendar这个类的使用方式是

Calendar now = Calendar.getInstance();
Date date = new Date();
now.setTime(date);
System.out.println(now.get(Calendar.DAY_OF_WEEK));
if(now.get(Calendar.DAY_OF_WEEK)!=Calendar.SUNDAY){
now.set(now.DATE,
now.get(now.DATE)-(now.get(Calendar.DAY_OF_WEEK)-1));
}else{
now.set(now.DATE, now.get(now.DATE)-7);
}
return now.getTime();


9、now.getActualMaximum(Calendar.DAY_OF_MONTH);当前月天数
10、TreeMap的排序逻辑对日期对象也有作用。
11、substring的用法符合java的习惯,0开始,第二个参数不算。
12、struts2的迭代标签iterator,id属性可看作为元素对象来使用,使用时加上#
13、oracle不区分大小写 日期格式为yyyy-MM-dd hh:mi:ss
struts2中的<s:date format="yyyy-MM-dd hh:mm:ss"/>直接用大小写来区分了。
HH表示24小时制,hh表示12小时制
14、jsp页面中的js function名称要起得有点特色像repeat这样的名字很容易出现莫名其妙的错误,尤其是在使用ajax的页面里,很可能上一级页面中含有相同的名字。
15、日期比较可以使用before和after 在oracle中可以直接用大于号和小于号
16、js里面的function参数可以不确定的

function Foo()
{
document.write("<p>共有" + arguments.length + "个参数,它们的值分别是:<p>");
for (var i=0; i<arguments.length; i++)
{
document.write("<p>" + arguments[i] + "</p>");
}
}

Foo("cfTea", "chilleen", "教程", "下载", "JavaScript");

17、jdbc的index从1开始hibernate的index从0开始 和数组集合一样。
18、form的target属性可以跳转到指定的iframe中。
19、struts2中利用ioc来实现对象属性的传值,具体的方法要借助对象在Action中的get和set方法,而boolean类型的get和set方法通过eclipse自动生成有可能会出现错误。boolean类型有个能是is。。。开头。 如果get或set方法名写错了会报parameterError.
20、在struts2中使用标签的时候如果用到特殊的字符一定要使用转义。例如:
<s:if test="outCall.fundCode!=null&&
!outCall.fundCode.equals(\"\")">
document.getElementById('fundCode').value
= <s:property value="outCall.fundCode"/>;
</s:if>

21、struts2可以使用这种方式传递一个date类型的值

<input type="hidden" name="customer.createdate" id="createdate" value='<s:date name="customer.createdate"
format="yyyy-MM-dd hh:mm:ss"/>'></input>

22、想在jsp中调用后台的工具方法DateUtil可以在Action中创建一个DateUtil的对象,直接在页面中调用就可以了。struts2的date标签无法显示星期几。
23、struts2标签实现for循环代码如下:
	
<s:bean name="org.apache.struts2.util.Counter" id="counter1">
<s:param name="first" value="1" />
<s:param name="last" value="5" />
<s:iterator>
<tr>counter1:</tr>
</s:iterator>
</s:bean>

25、struts+hibernate开发中一定要明确pojo类的属性名称最好按照java的规范来起名字,不然在jsp页面中使用el等表达式语言时将带来很多麻烦,不知道该用hibernate映射文件中pojo类属性名,还是用pojo类本身的属性名。
26、struts中的actionform类,如果form类包含一个String类型的属性比如说beginDate,但是没有在struts-config.xml文件中做任何配置(没有以property的形式做配置),但是action中仍然能够通过getBeginDate得到,这个是这么回事呢?
27、BeanUtils.populate struts的jsp页面报的异常,可能的错误是:
(1)ActionForm种的对象类型为空,例如form种有一个User对象没有进行初始化(我就是这个错误)
(2)ActionForm中的property名称写错了
(3)在使用Struts <html:file>标签上传时,
如果<html:form>未添加enctype="multipart/form-data" 属性也会报这个错误
(来自网上)
28、hibernate可以映射没有主键的表,不同的工具将生成不同的映射文件,比如myeclipse将把所有列作为联合主键进行映射,但如果映射文件当中没有id的描述,将会报一个违反dtd的错误,而且实际上这样的映射文件也没法使用。
29、使用struts在页面中获取integer类型的值,如果页面的input标签的value值是"",则后台得到的integer对象的值将是0;(这个对象被初始化过??)
30、struts重定向的问题,可以使用的方法有在struts-config.xml文件中配置redirect="true" ,或者使用老办法在action的方法中使用
response.sendRedirect(url)
 
<forward name="save"
path="/taskManage.html?method=findTask" redirect="true" />

31、灵异的问题总结:
(1)jsp页面总包一个404找不到Action,找了好久最后发现是html中一个字段名字错误了,错误原因竟然是名字过长,将名字改短一些就没有错误了。貌似html表单中input的名字不能超过21个字母。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值