工作周报7.25-7.30

先回答上周的问题,我在新的路径中配置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框架将忽略该属性。
总结:东西好多,慢慢学吧

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值