Grails从表单获取数据并存储

来源:互联网 发布:软件测试适用范围 编辑:程序博客网 时间:2024/05/23 15:39

1.在views中创建commit文件夹。
commitindex.gsp页面

<div ng-controller="commitctr">//表单  <div class="row">        <div class="form-group">            <label for="starttime" class="col-sm-2 control-label">主标题</label>            <div class="col-md-4">                <input class="form-control" maxlength="20" name="title" ng-model="wareTask.title" type="text" id="starttime" placeholder="商品名称,最大不要超过20个字" />            </div>            <label for="endtime" class="col-sm-2 control-label">关键字</label>            <div class="col-md-4">                <input class="form-control" maxlength="20" ng-model="wareTask.keyLabel" name="keyLabel" type="text" id="endtime" placeholder="商品关键字,最大不要超过20个字" />            </div>        </div>//提交//input   ng-click = "submitForm(wareTask)"    //ng-click是为了点击按钮是提交,wareTask是自己起的名字,然后上面的表单中的ng-model中的变量,也就是把这些表单中的数据就提交<div class="col-md-3">                <input type="button" value="保存"  class="btn btn-lg btn-success btn-block"                       ng-click = "submitForm(wareTask)" />            </div>            <div class="col-md-3">                <input type="button" value="关闭"  class="btn btn-lg btn-success btn-block" ng-click="closeWindow()"/>            </div>

2.在web-app中js中创建文件夹commit
创建文件 commitindex.js(文件名要与commitindex.js相同)

var appid = "commitindex"window.appModels.push(appid)//var app = angular.module(appid, ['ngUpload']);app.controller('commitctr', function($scope,$http) {    $scope.wareTask=[];  $scope.submitForm=function (wareTask) {  var test = $scope.wareTask;//把数据传给commitcontroller  WEBROOT+'/commit/addWare'   commitcontroller中的addware方法 $http({method : 'POST',url : WEBROOT+'/commit/addWare',params:$scope.wareTask,headers : window.utf8_headers})            .success(function(rtndata, status, headers, config){                //window.location.href=WEBROOT+'/ware/wareTask';                $scope.wareTask = rtndata.data;                var modalTitle = "保存成功,请上传图片";                document.getElementById("modalTitle").innerHTML = modalTitle;                $('#myModal').modal('show');            })            .error(function(data, status, headers, config){            });}

3.commitcontroller往数据库中存储数据

 def addWare() {        try {            //insert wareTask            def ware = insert(params);            render(contentType: "application/json") {                [state: 'ok',data: ware]            }        } catch (RuntimeException e) {            log.error(e);            render(status: 503, text: e);        }    }    def insert(params)    {        try{            def ware = new Ware(params);            if (!ware.save(flush: true))            {                ware.errors.allErrors.each{                    log.error(it);                }                return ;            }else {                return ware;            }        }catch (RuntimeException e)        {            log.error(e);            return ;        }