工作周报7.25-7.30
来源:互联网 发布:windows 2008 r2 编辑:程序博客网 时间:2024/04/30 07:41
先回答上周的问题,我在新的路径中配置model类,编译后映射不了。
而原因是我没有在resource路径下的applicationContext.xml中添加我的路径,以至于Spring无法找到我新增的路径的各个类,当然也就映射不到model类了。
添加路径声明在
<property name="annotatedPackagePrefixes">
下的list添加。
这次任务工作量不多,就是对一个数据类型的增删改查,表只有三个,指标项(我要操作的数据)表,指标项审核表和计算方法表。这周我写的是指标项增删改查和审核的初型,暂还没用到计算方法表。而我这周的收获最多的就是对这个框架的熟悉。
上周主要做了实体类的创建和映射,在做完这步后我从前台开始入手,先画了个数据增加的页面。然后我要弄清楚前台数据传入后台的方式。
这里要知道,前台到后台,一般都是调用action来实现的,而我这周接触的action类型有四种。
1.不带参数的,只是单独打开另一个页面的action,调用实例如:
function addColumn(){ mini.open({ url: "/hzrsmh/portal/f11010101/columnAddIndex.action", title: "创建指标项", width: 600, height: 600,allowResize:false, onload: function () {}, ondestroy: function (action) { grid.reload(); } }); }
在这个jsp中,我创建了个点击新增按钮就会触发的function,然后它会调用url中的columnAddIndex.action,而在f11010101Action.xml中我定义了columnAddIndex.action:
<action name="columnAddIndex" class="navigateAction"> <result name="success">/WEB-INF/pages/portal/f11010101/addColumn.jsp</result> </action>
它的class是navigateAction,就是不进行任何操作,只是单纯打开定义的jsp。
2.带参数的action调用,如:
function modifyColumn(){ var row = grid.getSelected(); if(row){ mini.open({ url: "/hzrsmh/portal/f11010101/columnModifyIndex.action?dataid="+row.dataid, title: "指标项修改", width: 1028, height: 960,allowResize:false, ondestroy: function (action) { grid.reload(); } }); }else{ Wssip.util.showTips('请先选择指标项!',2000); } }
与上相同,也是打开一个jsp,但会在该jsp中传入指定的参数。
3.请求类action,这种一般在初始化页面时用到,即向后台传递一个参数,后台根据参数获取该表中一列或多列的数据,转化成json数据,传递到前台。(注:前台与后台数据定义的方式是,前台定义控件的名称与后台实体类的名称相同,数据会自动匹配。)如:
function doReset() { MiniUtils.maskwin("加载中..."); Wssip.util.request("<c:url value='/portal/f11010101/loadColumn.action'/>",{dataid:${param.dataid}},"POST",function(data){ MiniUtils.unmaskwin(); var form =new mini.Form("modifyForm"); form.setData(data); },function(data){ MiniUtils.unmaskwin(); mini.get("btn_submit").disable(); MiniUtils.error(data.msg); }); }
4.前台向后台传递数据。与body中定义一句:
<c:url var="FORM_URL" value="/portal/f11010101/modifyColumn.action"></c:url>
这样可以用form.data获取各个控件的数据,再传入后台如:
function doAdd(button){ var form =new mini.Form("modifyForm"); form.validate(); if(!form.isValid()){ return; } button.disable(); json =form.getData(); MiniUtils.maskwin("提交中..."); Wssip.util.submit("${FORM_URL}",json,function(data){ MiniUtils.unmaskwin(); mini.alert("添加成功!"); },function(data){ MiniUtils.unmaskwin(); button.enable(); MiniUtils.error(data.msg); }); }
在熟悉了该框架的前后台数据交换后,做这个东西就不难了,不过中间还是会因为粗心出各种各样的BUG,慢慢成长吧!
添加:@override和@Transient的作用,@Override标注该方法是重载的,如果该方法形式与父类不同,编译器会发出警告。
再添加:ORACLE 的sequence作用和定义方法,sequence的作用就是自动生成主键编号,而sequence的定义方法是,先在数据库中创建设置,再在实体类中添加标注。
@Transient标注该属性不与数据库映射,ORM框架将忽略该属性。
总结:东西好多,慢慢学吧
- 工作周报7.25-7.30
- 工作周报
- 工作周报
- 工作周报
- 工作周报
- 工作周报
- 工作周报_20120716_20120720
- 第六周工作周报
- 第六周工作周报
- 第七周工作周报
- 十二周工作周报
- 第十三周工作周报
- 第十九周工作周报
- 第十九周工作周报
- 第十九周工作周报
- 第二十周工作周报
- 工作周报001
- 工作周报002
- abaqus umat介电弹性体Mooney-Rivlin model + electrostatic
- C#控制台 将一维string数组转换成二维char类型输出并输出
- 河南多校大一训练赛 (田忌赛马)
- 前端开发结构图
- Qt Quick文档翻译
- 工作周报7.25-7.30
- java 通过模板导出excel
- 关于 1<<0 的意义
- 关于rand和srand函数使用的一点心得
- C++ 算法笔试十题
- SPFA 模板
- Android实现退出整个应用程序代码;
- 排序算法 之 插入排序InsertionSort
- Ubuntu下slickedit的安装与配置