今天我们继续来学习巴巴运动网,在昨天的学习当中,我们完成了对实体基本方法操作的实现,今天我们将在昨天的基础上完成巴巴运动网用户模块的开发。
1. 在web.xml文件中,我们需要使用spring解决JPA因EntityManager关闭导致的延迟加载例外问题
2. 将Action交给Spring容器管理需要为Action加上注解@Controller(name),name为struts-config.xml配置文件中该Action的path名称
3. 哈哈!今天发现一个Eclipse的bug,害我调试了半个小时,这里给大家提一下,在Eclipse中写配置文件时,如果直接从别处拷贝到该配置中,可能在运行时会报Parsing错误
4. AJAX设置消除缓存:
response.setHeader("Cache-Control","no-store"); //HTTP1.1
response.setHeader("Pragma","no-cache"); //HTTP1.0
response.setDateHeader("Expires",0);
5. 在用户查询页面设置一name为query的隐藏域,当分页Action接收到query隐藏域值为true时调用查询方法并实现结果的分页
6. <input type="image" src="/images/global/cart.gif">可以通过点击cart.gif图片将表单提交到Action,功能类似于<input type="submit" value="submit">
7. 判断商品是否为同一件商品,这里需要重写商品ID和商品样式ID的equals和hashcode方法
8. 使用Filter进行URL重定向后不能继续执行chain.doFilter(req,res)方法,否则会丢失往客户端输出的缓冲数据。所以,在使用Filter进行URL重定向后需要return该方法
9. 使用Filter拦截用户请求,用户完成操作后,再次进入用户请求页面的实现
1) 在Filter中获取用户请求的路径,并对路径进行Base64编码,然后将编码后的作为重定向路径的参数进行传递
2) 在重定向到达页面使用表单隐藏域得到编码后的用户请求路径
3) 用户完成相关操作后,对传递得到的用户请求路径进行Base64解码,解码之后重定向到该路径
10. JavaScript没有trim()方法,在JS中如果需要去空格处理,可以自定义一个方法函数(使用正则表达式)来处理空格
表达式:String.prototype.trim = function() {return this.replace(/^/s+|/s+$/g, "");