智爱后台管理收获总结
1. SSH框架整合完成(struts2+spring+hibernate)
1. spring与Struts2的整合 A. 有两种整合方式(详情查阅SSH文件夹) B. 当启动application时,需要自动创建初始化bean,自动创建spring容器,需在web.xml文件中配置监听器listener(配置详情查阅SSH文件夹) C. 功能性过滤器以及拦截器的配置以及使用(包括设置编码以及session的范围的过滤器等) |
2. spring与hibernate整合完成 A. 配置详情查阅SSH文件夹 B. Hibernate注解以及xml配置的使用,注解自动扫描实体类的配置 C. 多对一映射(注解法) |
3. 通过函数回调完成hibernateTemplate的分页操作(详情见项目工具类包下的分页类)
4. 前端选多个对象传到action
var obj=document.getElementsByName("checked"); var list=[]; for (var k=1;k<obj.length;k++) { if(obj[k].checked) { list.push(obj[k].value); } } if(list.length!=0) { layer.confirm('请确认是否进入通知编辑页面!',function(index){ window.location.href="sending_to_user.action?list="+list; }); } |
action接收(传过来的字符串中每个值以’,’分割): Map params=(Map) ActionContext.getContext().getParameters(); String []s=(String []) params.get("list"); String []list=s[0].split(","); |
5. Calendar日期类型的使用(详情见userDaoImpi类下的selectUserBC方法)
6. Struts2中Ajax的使用
1. 导入相关的架包: json-lib-2.3-jdk15.jar struts2-json-plugin-2.3.34.jar ezmorph-1.0.6.jar commons-lang-2.4.jar commons-beanutils-1.8.0.jar 2. 配置及使用详情见用户模块的userAdd.jsp以及userAction下的usernameCheck方法 3. JSON格式数据返回设置配置 <result name="check" type="json"> <param name="root">result</param> </result> |
7. 乱码问题的解决
1. 前端页面设置正确的编码方式utf-8 2. Struts2中设置编码格式 <constant name="struts.i18n.encoding" value="UTF-8"/> 3. 设置编码过滤器 4. 对字符串进行先解码再编码 5. 连接数据库的时候设置传入数据库时编码的格式 jdbc:mysql://localhost:3306/zhiai?characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull |
8. ActionContext的知识以及使用
详情见项目代码 |
9. Ognl的知识以及使用
详情见推荐链接文档中的链接以及项目代码和Struts2_ognl笔记 |
10. action中各种result的类型(详情见Struts2-action配置)
1. 重定向 <result name="toUserList" type="redirectAction"> <param name="actionName">userList</param> <param name="pageNow">1</param> </result> <result name="public" type="redirect"> <param name="location">/notice/sendingToPublic.jsp?mark=1< param> </result>
2.json格式 <result name="check" type="json"> <param name="root">result</param> </result> 3. 链式 <result name="success" type="chain">videoAppend</result> |
11. 最大的收获--------------实践中BUG的解决
详情见bug系列总结文档,以及项目 |
12. 上传视频
详情见项目视频专区模块代码 |