BOS项目及知识点总结_01

messager消息提示对象使用

<script type="text/javascript">
  $(function(){
      $("#alert").click(function(){
          $.messager.alert("提示","提示的内容","error");


       $("#confirm").click(function(){
          $.messager.confirm("提示","确定要删除吗?",function(r){
              if(r){
                  alert("数据被删除");
              }
          });
      })


      $.messager.show({
          title:'消息提示',
          msg:'显示的具体内容',
          timeout:3000,
          showType:'slide'            
      })
  })


</script>
</head>
<body>

 <button  id="alert">alert</button>
 <button  id="confirm">confirm</button>

</body>
spring data jpa学习简化持久层DAO开发

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={"classpath:applicationContext.xml"})
public class JPATest {

    @Autowired
    private StandardDao dao;

    //spring data jpa的保存方法如果有没有设置主键id,会根据配置生成相应的主键策略,如果有保存的对象有id那么保存方法相当于更新操作,save相当于saveOrUpdate
    @Test
    public void testAdd(){
        Standard  standard = new Standard();
//      standard.setId(id);
        standard.setMaxLength(100);
        standard.setMaxWeight(100);
        standard.setMinLength(11);
        standard.setMinWeight(11);
        standard.setName("11-100");
        standard.setOperatingCompany("顺义分公司");
        standard.setOperatingTime(new Date());
        standard.setOperator("admin");
        dao.save(standard);
    }
    //查询所有
    @Test
    public void testFindAll(){
        List<Standard> list = dao.findAll();
        System.out.println(list);
    }

    // 根据指定ID查询
    @Test
    public void testFindOne() {
        Standard standard = standarDao.findOne(1);
        System.out.println(standard);
    }

    // 自定义查询
    // 根据指定的属性获取数据
    @Test
    public void testFindByName() {
        List<Standard> findAll = standarDao.findByName("11-100");
        System.out.println(findAll);
    }

    // 自定义属性模糊查询
    @Test
    public void testFindByNameLike() {
        List<Standard> findAll = standarDao.findByNameLike("%20%");
        System.out.println(findAll);
    }

    // 自定义属性or查询
    @Test
    public void testFindByNameOrOperator() {
        List<Standard> findAll = standarDao.findByNameOrOperator("100-200", "李四");
        System.out.println(findAll);
    }

    // 自定义属性and查询
    @Test
    public void testFindByNameAndOperator() {
        List<Standard> findAll = standarDao.findByNameAndOperator("100-200", "李四");
        System.out.println(findAll);
    }

    //模糊查询
    @Test
    public void testFindByNameLikeOrOperatorLike(){
        List<Standard> list = standarDao.findByNameLikeOrOperatorLike("1-10","admin");
        System.out.println(list);
    }

    @Test
    public void testFindBymingzi(){
        List<Standard> list = standarDao.findBymingzi("11-100");
        System.out.println(list);
    }

    //更新操作
    @Test
    public void testUpdateOperator(){
        standardService.updateOperator("asasa");
    }
}

如果查询的方法不符合springjpa的方法命名规范,可以在dao的接口通过注解声明

//dao接口需要继承JpaRepository
public interface StandardDao extends JpaRepository<Standard, Integer> {

//  @Query("from Standard where name=?") //JPQL
    @Query(value="select * from T_STANDARD where C_NAME=?",nativeQuery=true)
    List<Standard> findBymingzi(String string);

    @Query("update Standard  set name=?") //JPQL
    @Modifying  //涉及到修改数据时
    void updateOperator(String string);

}

JqueryUI的常见操作


表单的保存

<script type="text/javascript">
             $(function(){
                //给保存按钮添加单击事件
                 $("#save").click(function(){
                 //验证表单字段是否全部通过校验
                   if($("#standardForm").form('validate')){
                        //如果验证通过,则用serialize插件将表单数据进行封装
                        var formData = $("#standardForm").serializeJSON();
//                      JSON.stringify(formData)  把object对象转成json字符串,此方法是js方法
//                       使用异步的方式保存数据
                        $.ajax({
                            url:'../../standardAction_save.action', //提交的地址
                            type:'post', //提交的方式
                            data:formData, //需要提交的数据
                            dataType:'json', //数据的格式,如果在响应数据已经设置,此步可以不写
                            success:function(data){
                            //返回数据的样式  {"success":true|false,"message":"保存成功"|"保存失败"}
                               if(data.success){
//                                1、窗口关闭
                                  $("#standardWindow").window('close');
//                                2、列表数据刷新
                                 $("#grid").datagrid('reload');
//                                3、alert提示
                               }
                                  $.messager.alert("提示",data.message);
                            }
                        })

                     }
                 })
             })

            </script>

服务端实现代码

@Action("standardAction_save")
    public void save() throws IOException{
        Map<String,Object> map = new HashMap<String,Object>();
//      json字符串回写到浏览器中
        HttpServletResponse response = ServletActionContext.getResponse();
        response.setContentType("application/json;charset=utf-8");
        try {
            service.save(model);
//           {"success":true|false,"message":"保存成功"|"保存失败"}
            map.put("success", true);
            map.put("message", "保存成功");
//          map转成json字符串
            String string = JSONObject.fromObject(map).toString();
            response.getWriter().write(string);
        } catch (Exception e) {

            map.put("success", false);
            map.put("message", "保存失败");
//          map转成json字符串
            String string = JSONObject.fromObject(map).toString();
            response.getWriter().write(string);
        }

    }

使用easyUI提供的API动态创建datagrid及分页效果

script type="text/javascript">
  $(function(){
      $("#grid").datagrid({
          url:'../data/datagrid.json',  //地址一般是服务端路径
          columns:[[
                    {field:'name',title:'姓名',width:200},
                    {field:'age',title:'年龄',width:100},
                    {field:'gender',title:'性别',width:100,formatter:function(value,rowData,rowIndex){
//                      value 此列中每个单元格的值  rowData 此单元格所在行的数据,rowIndex 此单元格所在行的索引值  索引值是从0开始
                        if(value==1){
                            return "男";
                        }
                        if(value==0){
                            return "女";
                        }
                    }}
                    ]],
         singleSelect:true,  //当行选中效果
         pagination:true,    //开启分页栏
         pageSize:3,         //每页显示的条数
         pageList:[3,6,9,12] //每页显示条数的下拉选择
      })

  })
</script>

服务端分页代码实现

    private int page; //当前页码
    private int rows; //每页显示的最大条数

    public void setPage(int page) {
        this.page = page;
    }
    public void setRows(int rows) {
        this.rows = rows;
    }

    @Action("standardAction_findByPage")
    public void findByPage(){
        //注意:此时page需要减1

        Pageable pageable = new  PageRequest(page-1, rows);
        Page page = service.findByPage(pageable);

//      拼装datagrid分页时需要的数据格式
//      {"total":100,"rows":[{},{},{}]}
        Map<String,Object> map = new HashMap<String,Object>();
        //获得总条数
        map.put("total", page.getTotalElements());
        //获得查询得到对象
        map.put("rows", page.getContent());
        String string = JSONObject.fromObject(map).toString();
        HttpServletResponse response = ServletActionContext.getResponse();
        response.setContentType("application/json;charset=utf-8");
        try {
            response.getWriter().write(string);
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

判断是否只选择了几条记录

//                  判断是否只是选择了一条数据
                    var rowDatas = $("#grid").datagrid('getSelections');//获取所有选择的数据,返回结果是一个数组
                    if(rowDatas.length!=1){
                        $.messager.alert('提示','请选择一条数据修改');
                        return ;
                    }

回显数据

                text : '修改',
                iconCls : 'icon-edit',
                handler : function(){

                    //判断用用户选中了几条数据,返回的是选中数据的数组
                    var number = $("#grid").datagrid('getSelections');
                    if(number.length!=1){
                        alert("请选择一个要修改的数据");
                        return;
                    }

                    $('#standardWindow').window({    
                        title:'修改'
                    });  

                    //弹出窗口
                    $("#standardWindow").window("open");
                    //数据回显
                    /* alert(JSON.stringify(number[0])) */

                    **$('#standardId').form('load',number[0]);**

                }

逻辑删除

function doDelete(){
//              判断是否选择了数据
                var rowDatas = $("#grid").datagrid('getSeletions');
                if(rowDatas.length==0){
                    $.messager.alert("提示","请选择需要作废的数据");
                }else{
                    var ids = new Array();  //js中创建数组的方式
                    for (var i = 0; i < rowDatas.length; i++) {
                        ids.push(rowDatas[i].id);
                    }
//                  [1,2,3]--->"1,2,3"
                    ids = ids.join(",");
                    $.ajax({
                        url:'../../courierAction_deleteBatch.action',
                        type:"post",
                        data:{"ids":ids},
                        dataType:'json',
                        success:function(data){
                            if(data.success){
//                              刷新表格数据
                                $("#grid").datagrid('reload');
                            }
//                          alert提示
                           $.messager.alert("提示",data.message);
                        }

                    })
                }
            }

服务端代码

private String ids;//前端传来的需要作废的ids
    public void setIds(String ids) {
        this.ids = ids;
    }
    @Action("courierAction_deleteBatch")
    public void deleteBatch() throws IOException{
        Map<String,Object> map = new HashMap<String,Object>();
//      json字符串回写到浏览器中
        HttpServletResponse response = ServletActionContext.getResponse();
        response.setContentType("application/json;charset=utf-8");
        try {
            service.deleteBatch(ids);
//          
            map.put("success", true);
            map.put("message", "操作成功");
//          map转成json字符串
            String string = JSONObject.fromObject(map).toString();
            response.getWriter().write(string);
        } catch (Exception e) {

            map.put("success", false);
            map.put("message", "操作失败");
//          map转成json字符串
            String string = JSONObject.fromObject(map).toString();
            response.getWriter().write(string);
        }
    }

service代码

@Override
    public void deleteBatch(String ids) {
//      ids="1,2,3"
        String[] cids = ids.split(",");
        for (int i = 0; i < cids.length; i++) {
//          dao.delete(Integer.parseInt(cids[i]));  //此方法是物理删除
            dao.updateDelTag(Integer.parseInt(cids[i]));  //作废操作是修改courier对象中的deltag字段
        }
    }

dao层

public interface CourierDao extends JpaRepository<Courier, Integer> {

    @Query("update Courier set deltag='1' where id=?")
    @Modifying
    void updateDelTag(int parseInt);
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值