zoukankan      html  css  js  c++  java
  • SpringSide中添加操作

    方式一:

    function f_add()

            {

                //f_openWindow('custom/cusinformation!input.action', '添加用户', 600, 450);

                top.f_addTab("addcustom", '增加客户信息', 'custom/cusinformation!input.action');[d1] 

            }

    跳转到input空方法——》到input页面

    Action:

    private CusInformation entity;

    public String getModelJson() throws Exception {

          try {

            String content = null;

            entity = cusInfoManager.getCusInfomation(id);

            content = super.reverseObjJsonData(entity);

            Struts2Utils.renderText(content);

          } catch (Exception e) {

            logger.error("获取客户json数据时出错", e);

          }

          return NONE;

       }

    public String input(){

       return INPUT;}

    Service:

    Dao:

    Input页面jsp

    <script type="text/javascript">

            var CurID = 1;

            var Validator = null;

            var phoneJson='${PHONEJSON}';

            var addressJson='${ADDRESSJSON}';

            var classifyUrl = "${ctx}/custom/cusclassify!showClassTree.action";

           var isView = "${param['isView']}";

            $(function ()

            {

                $.metadata.setType("attr", "validate");

                if(isView=='true'){

                    var mainform=$("#form1");

                    f_formRead($.ligerui.find($.ligerui.controls.ComboBox));

                    f_formRead($.ligerui.find($.ligerui.controls.DateEditor));

                    f_formRead($.ligerui.find($.ligerui.controls.select));

                    $("input,select,textarea",mainform).attr("readonly", "readonly");

                }

                 //初始化 客户类型

                var roleListJson="${allRoleJson}";

            roleListJson=eval("("+roleListJson+")");

                roleManager=$("#custype").ligerComboBox({

                data:roleListJson,

                 180,

                selectBoxWidth: 180,

                isMultiSelect: false,

                valueFieldID:"roleids"

                });

            

                roleManager.setValue('${checkroleids}');

                roleManager.updateStyle();

               

                //初始化分类值

                initclass();

                $("#form1").ligerForm();

                $("#name").focus();

            });

           function getCusType(){

              if($("#roleids").val()==""){

                   $("#typeid").val(0);

              }else{

               $("#typeid").val($("#roleids").val()); 

              }

            }

            function f_success()

            {

               $.ligerDialog.closeWaitting();

               $.ligerDialog.success("保存成功","",function(button,domobject,buttonindex){

               top.frames["customlist"].f_reload();

               f_cancel();

               });

            }

            function f_error(message)

            {

                $(document).ready(function(){

                    $.ligerDialog.error(message);

                });

            }

     

          function f_post(){

                var options = {

                target:'',

                url:'cusinformation!save.action',

                type:'POST',

                success: function(data,textStatus){

                var result=eval(data);

                if(result<1){

                   $.ligerDialog.closeWaitting();

                   $.ligerDialog.error("保存失败");

                }else if(result>0){

                    f_success();

                }

                },

                error:function(req, testStatus, errorThrown){

                 $.ligerDialog.closeWaitting();

                 $.ligerDialog.error("保存失败");

                }

                };

                $('#form1').ajaxSubmit(options);

          }

            function f_save()

            {

                if(!Validator.form()) return;

                $("form").ligerForm();

                //组织电话信息

                f_savephone();

                //组织地址信息

                f_saveAddress();

                $.ligerDialog.waitting("正在保存中...");

                 setTimeout(function(){

                    f_post();

                },10);

            }

     

            /*

             * 关闭窗口

             */

            function f_cancel() {

                LG.closeCurrentTab(null);

           }

    [d2] </script>

    <body style="padding:10px">

      <div id="tabcontainer" style="margin: 3px;margin-bottom:30px;">

                <form id="form1" action="cusinformation!save.action" method="post" class=l-form>

                    <input type="hidden" name="id" value="${id}"/>

                    <input type="hidden" id="typeid" name="typeid" value=""/>

                    <input type="hidden"  id="checkedclassids" name="checkedclassids" value="${checkedclassids}"/>

                    <input type="hidden"  id="checkedclassnames"  name="checkedclassnames" value="${checkedclassnames }"/>

                    <input type="hidden" id="phonejson" name="phonejson" value=""/>

                    <input type="hidden" id="addressjson" name="addressjson" value=""/>

                 <DIVclass="l-group l-group-hasicon"><IMGsrc="${ctx}/js/ligerUI/skins/icons/communication.gif"><SPAN>基础信息</SPAN><s:if test="id!=null">&nbsp;&nbsp;&nbsp;&nbsp;客户id:${id}</s:if></DIV>

                 <table cellpadding="0" cellspacing="0" class="l-table-edit" >

                 <tr>

                <td width="400px">

                <table>

               <tr>

                    <td align="left" class="l-table-edit-td" width="100px">客户名称:</td>

                    <td align="left" class="l-table-edit-td"><input name="name" type="text" id="name" ltype="text" validate="{required:true,minlength:2,maxlength:50}" value="${name}"/></td>

                    <td align="left"><font color="red">*</font></td>

               </tr>

               </table>

               </td>

               <td width="400px">

                <table>

               <tr>

               <td align="left" class="l-table-edit-td" width="100px">客户类型:</td>

                    <td align="left" class="l-table-edit-td">

                    <input type="text" name="custype" id="custype" ltype="text" validate="{required:true}" onchange="getCusType()"/>[d3] 

                    </td>

                    <td align="left"><font color="red">*</font></td>

                    </tr>

               </table>

               </td>

                </tr>

                <tr>

                <td width="400px">

                <table>

               <tr>

                    <td align="left" class="l-table-edit-td" width="100px">性别:</td>

                    <td align="left" class="l-table-edit-td">

                    <select name="gender" id="gender" ltype="select">

                      <option value="0" <c:if test="${gender==0}">selected</c:if>>女</option>

                      <option value="1" <c:if test="${gender==1}">selected</c:if>>男</option>

                    </select>

                    </td>

                    <td align="left"></td>

               </tr>

               </table>

              

              

                </form>

    </div> 

     <script type="text/javascript">

       var mainform = $("#form1");

       if(isView){

          LG.setFormViewBtn(f_cancel);

       }else{

           LG.setFormDefaultBtn(f_cancel,  f_save);

       }

     </script>

    [d4] </body>

    方式二:f_openwindow                              

    主页面Jsp:

    function f_add()

            {

                f_openWindow('custom/custag!input.action', '添加客户标签', 600, 450);[d5] 

            }

    function f_openWindow(url, title, width, height)

            {

                var dialogOptions = { width, height: height, title: title, url: url, buttons: [

                { text: '保存', onclick: function (item, dialog)

                {

                    dialog.frame.f_save();[d6] [d7] 

                }

                },

                { text: '关闭', onclick: function (item, dialog)

                {

                    dialog.close();

                }

                }

                ], isResize: true, timeParmName: 'a'

                };

                activeDialog = parent.jQuery.ligerDialog.open(dialogOptions);

            }

    Action:

    @Override

       public String input() throws Exception {

          // TODO Auto-generated method stub

          return INPUT;

       }

    Service:

    Dao:

    子页面jspinput页面

    <script type="text/javascript">

            var CurID = 1;

            var Validator = null;

            $(function ()

            {

                $.metadata.setType("attr", "validate");

                $("#form1").ligerForm();

                deafultValidate($("#form1"));

                Validator = $("#form1").validate();

                $("#defined_buttonUpload").click();

                $("#name").focus();

            });       

     

            function f_success[d8] [d9] ()

            {

               $.ligerDialog.closeWaitting[d10] ();

               //setTimeout(function(){

                      $.ligerDialog.success("保存成功[d11] [d12] ","",function(button,domobject,buttonindex){

                    parent.frames["custaglist"].f_reload[d13] ();

                          parent.frames["custaglist"].f_closeWindow();[d14] 

                    });

                //},10);

            }

            function f_error(message)

            {

                $(document).ready(function(){

                    $.ligerDialog.error(message);

                });

            }

     

          function f_post[d15] (){

                var options = {

                target:'',

                url:'custag!save.action',

                type:'POST',

                success: function(data,textStatus){

                if(data=='false'){

                   $.ligerDialog.closeWaitting();

                   $.ligerDialog.error("保存失败");

                }[d16] [d17] else if(data=='true'){

                    f_success();

                }

                }

                };

                $('#form1').ajaxSubmit(options);[d18] 

            //$.ligerDialog.closeWaitting();

          }

            function f_save()

            {

                 if(!Validator.form()) return;

                 $("form").ligerForm();

               

                $.ligerDialog.waitting("正在保存中...");

                 setTimeout(function(){

                    f_post();

                },10);

            }

    </script>

    <input type="hidden" name="id" value="${id}"/>[d19] 

    Input子窗体调用的方法:

    Action:

    @Override

       @SysLogAnnotation(moduleId=1003,entityId="tagid")

       public String save() throws Exception {

          // TODO Auto-generated method stub

          try {

            OperatorDetails userDetails = SpringSecurityUtils.getCurrentUser([d20] ) ;

            if(id==null){

               entity.setCreator(userDetails.getSysuser().getLoginname());

               entity.setCreatetime(new Date());[d21] 

            }

            entity.setUpdater(userDetails.getSysuser().getLoginname());

            entity.setLastmodify(new Date());

            cusTagManager.save(entity);

            Struts2Utils.renderText("true");[d22] 

          } catch (Exception e) {

            Struts2Utils.renderText("false");

                logger.error("保存客户标签出错", e);

                throw e;

          }

          return NONE;

      }

    Service:

    public void save(CusTag entity){

          cusTagDao.save(entity);

      }

    Dao:

    方式二:不允许重复添加,用户输入的时候就判断名字是否重复

    分析:

    Jsp:

    父页面:

    { text: '添加', click:f_add,id:"add" , img:""+ctx+"/js/images/add.png"},

    function f_add()

            {

               f_openWindow('news/newsissueclassify!input.action?classify=0&parentid=0', '添加新闻线索分类', 450, 200);       

            }

    子页面:

    <tr>

               <td class="l-table-edit-td">分类名称:</td>

               <td class="l-table-edit-td">

    <input type="text" ltype="text"  name="name" size="40" id="name" value="${name}" validate="{required:true,minlength:1,maxlength:25, remote:{url:'newsissueclassify!checkNewsClassifyName.action',data:{oldname:function(){return '${name}';},currentclassify:function(){return '${classify }';}}},messages:{required:'请输入分类名称',remote:'该分类已经存在!'}}" ligerui="{180}"/></td[d23] >

               <td align="left"><font color="red">*</font></td>

            </tr>

    Action:

    @Override

       public String input() throws Exception {

          return INPUT;

       }

    /**

        * 检查分类名称是否已存在

        *

        * @return

        */

       public String checkNewsClassifyName() {

          try {

            String name = Struts2Utils.getParameter("name[d24] ");

            if (name != null) {

               name = new String(name.getBytes("ISO-8859-1"), "UTF-8");

            }

            String oldName = Struts2Utils.getParameter("oldname[d25] ");

            if (oldName != null) {

               oldName = new String(oldName.getBytes("ISO-8859-1"), "UTF-8");

            }

            classify = Struts2Utils.getParameter("currentclassify");

            if (this.manager.isNameUnique(name, oldName, classify)) {

               Struts2Utils.renderText("true");

            } else {

               Struts2Utils.renderText("false");

            }

          } catch (Exception e) {

            logger.error("检查分类名称是否重名时出错", e);

          }

     

          return NONE;

       }

    Service:

    public boolean isNameUnique[d26] (String newName, String oldName, String classify) {

          String hql="";

          boolean isNameUnique=false[d27] ;

          if(oldName!=null&&oldName.equals(newName)){

            isNameUnique = true;

          }else{       

            hql+="select n from NewsIssueClassify n where n.classify="+Integer.parseInt(classify);[d28] 

            if(newName!=null){

               hql+=" and n.name=?";

            }

            if(dao.find(hql, newName).size()==0){

               isNameUnique = true;

            }

          }

          return isNameUnique;

       }

    Dao:


     [d1]方式一:

    弹tab

     [d2]Tab的关闭方式

     [d3]动态从数据库取客户类型

     [d4]Tab页面取消和确定按钮

     [d5]url,title width,height

     [d6]

     [d7]

     [d8]

     [d9]返回成功信息后

    1、  关闭子窗体

    2、  提示“保存成功”

    3、  重新加载父窗体

    4、   

     [d10]第一步

     [d11]

     [d12]第二步

     [d13]第三步f_reload方法来自父窗体。

    frames["custaglist"]指的是父窗体的panel面板

     [d14]不明白?

     [d15]添加子页面,用ajax题目

     [d16]

     [d17]回调函数,

    对提交后的结果做判断,如果返回false则关闭当前对话框,并且提示error

     [d18]

     [d19]用隐藏域保存添加的id

     [d20]获得当前登录用户

     [d21]设置为当前时间

     [d22]返回给回调函数的message信息,做以提示

     [d23]用验证的方式,当用户输入分类名称的时候就可以判定是否重复,如果重复就直接提示:该分类已经存在。

     [d24]现在输入的新分类名称

     [d25]原来的分类名称

     [d26]检查名字是否唯一

     [d27]

    第一次检查:

    申明一个临时变量,初始化值为false。如果newName和oldName一样就把变量赋值为true。

     [d28]第二次检查

    根据新分类名,用hql语句在数据库中查,

  • 相关阅读:
    正经学C#_循环[do while,while,for]:[c#入门经典]
    Vs 控件错位 右侧资源管理器文件夹点击也不管用,显示异常
    asp.net core 获取当前请求的url
    在实体对象中访问导航属性里的属性值出现异常“There is already an open DataReader associated with this Command which must be
    用orchard core和asp.net core 3.0 快速搭建博客,解决iis 部署https无法登录后台问题
    System.Data.Entity.Core.EntityCommandExecution The data reader is incompatible with the specified
    初探Java设计模式3:行为型模式(策略,观察者等)
    MySQL教程77-CROSS JOIN 交叉连接
    MySQL教程76-HAVING 过滤分组
    MySQL教程75-使用GROUP BY分组查询
  • 原文地址:https://www.cnblogs.com/pujiajia/p/SpringSide.html
Copyright © 2011-2022 走看看