1.建立实体类的时候,对于整形的数据一定要使用Integerl类型,原因是Integer类型没有没有值的时候是null,而int类型没有值得时候是默认为0.
2.在配置action的时候,常常发现表单、配置文件没错但是却总是进不去那个方法,这个时候应该检查一下表单的填写类型是否错误。action在进入方法之前会先将表单的参数自动转型到action相应的属性上,一旦发现转型失败就不再进入到那个方法中了,返回input”。
3.jsp乱码问题,有时候你发先你的表单提交总是乱码,而页面的pageecode已经设置为utf-8了,Java的类也设置成了utf-8。这时候你要添加一下你的表单提交方式是否已经填写上,填写的是否是post,一般提交方式是post的话就不会乱码了。你还可以在web.xml文件中配置好编码的过滤器,这个可以百度,一大堆答案。
4.使用iBATIS可以进行动态的sql语句的,同学们一定要注意使用好,省很多功夫的,具体百度。
5.有时候在action的配置文件中使用通配符是一件很方便的事,但是同时这也会带来一个问题,那就是类中的方法名、类名、包结构暴露,这有可能会带来安全隐患。
6.数据库保存数据乱码问题,在类中并没有乱码,但是保存到数据库中的时候却出现了乱码,这是应该检查数据库的编码格式,详情百度。
7.还是规范问题,在创建实体类的时候,Integer类型的属性,他的get、set方法千万不要写成Int类型的,虽然没报错,但是总有一天会出问题的。我在使用Ajax返回JSON数据的时候就出错了,因为get方法返回值是Int类型,结果序列化失败
8.在struts的配置文件中有些很重要的属性,比如excludeProperties、includeProperties、excludeNullProperties。这些属性可以控制action返回那些值,对于没用的值就不要返回了。
9.制作自定义标签的时候,如果继承了TagSupport,这时候是没办法让spring注入bean的,需要手动获取bean,获取方式如下:
WebApplicationContext wac = WebApplicationContextUtils.getRequiredWebApplicationContext(this.pageContext.getSession().getServletContext());
adPositionService = (AdPositionService) wac.getBean("adPositionService");
10.使用validate.js一般需要引入jQuery.js和jQuery.validate.js即可,注意jQuery.js一定要放在validate.js的前面。另外,如果input的name属性是采用user.name这种方式的话,校验的时候需要在名字上加上双引号: "user.name": "required".
11.