码迷,mamicode.com
首页 > 编程语言 > 详细

JAVA 随笔(一)

时间:2015-11-30 11:32:19      阅读:234      评论:0      收藏:0      [点我收藏+]

标签:

 1.1 如何更改 messager.confirm 弹出框按钮的文字,而不改变选择框界面的风格: 

  一般来说,messager.confirm的弹出框的按钮默认的是“确认“和”取消“,当然这里已经加中文包,默认本是,”ok“和”cancle“.

 很多情况下,我们直接用  $.messager.defaults= {ok: "通过", cancel: "不通过"};  这样直接修改的话,弹出选择框的风格直接改变,我们采用

 $.extend($.messager.defaults,{ 
              ok:"通过", 
              cancel:"不通过" 
          });  

就有效解决了选择框的风格保持不变而且文字有效替换问题。

1.2 如何js中怎么判断var是否包含另一个字符串:

  我们在实际中,经常在界面里用到判断语句,比如我们这里做一个批量的删除,但是对消息删除时要做一个判断,不能删除状态为“已发布,已审核待发布,撤网待审核,撤网不通过” ps:status为each遍历取得页面上的状态(STATUS)

var status = ‘‘
     $.each(checked, function(index, item){
      status = status + item.STATUS + ‘,‘;
    });

  if (  !(status.indexOf(‘已发布‘) > -1 ) && !(status.indexOf(‘已审核待发布‘) > -1) && !(status.indexOf(‘撤网待审核‘) > -1) && !(status.indexOf(‘撤网不通过‘) > -1)  ){

       删除代码

}

技术分享

1.3 如任在js中只显示数据库字段里的前七个字符,而鼠标悬停显示所有的内容。

       {field:‘NOTICE_DESC‘,width:110,align:‘left‘,halign:‘center‘,title:‘描述‘ ,formatter:function(value,row,index){
        var len = row.NOTICE_DESC.length; 
    var abValue = row.NOTICE_DESC;   
        if (len > 8) {                                               
                  abValue = row.NOTICE_DESC.substr(1,7) + "...";        
              }                                                            
    return ‘<text href="#" title="‘ + row.NOTICE_DESC + ‘" class="note">‘ + abValue + ‘</text>‘;
       } },
       {field:‘UPDATE_USER‘,width:100,align:‘left‘,halign:‘center‘,title:‘维护人‘},
       {field:‘UPDATE_TIME‘,width:110,align:‘center‘,halign:‘center‘,title:‘维护时间‘}
       ]]
     });  

这样我们就有效的对  描述字段 成功处理。

1.4  如何实现在判断字符串长度的时候,英文字符+1,汉字+2

// 计算标题和描述 字符串长度(英文占1个字符,中文汉字占2个字符)

businesstype和description为key值
    var len_businesstype = 0;   
     for (var i = 0; i < businesstype.length; i++) {
             var c = businesstype.charCodeAt(i);
             //单字节加1
             if ((c >= 0x0001 && c <= 0x007e) || (0xff60 <= c && c <= 0xff9f)) {
              len_businesstype++;
             }
             else {
              len_businesstype += 2;
             }
         }
   if (len_businesstype > 16){
    alert("录入的通知公告类型名称不能超过8个汉字,请重新录入 ");
    return;  
   }
     var len_description = 0;   
      for (var i = 0; i < description.length; i++) {
              var c = description.charCodeAt(i);
              //单字节加1
              if ((c >= 0x0001 && c <= 0x007e) || (0xff60 <= c && c <= 0xff9f)) {
               len_description++;
              }
              else {
               len_description += 2;
              }
          }   
  if (len_description > 60){
   alert("录入的描述信息不能超过30个汉字 ,请重新录入 ");
   return;
  }

 1.5  有时候 我们在新增标题,或者新增用户的时候,要判断是否唯一,通常情况下我们将,数据库的字段设为唯一标示,然后捕获异常给用户一个合理的提示,不然会提示“系统错误”,但是如果标题或者用户名(要判断的值)比较少的时候,我们也可以在新增保存前,去数据库里扫一下,如果已存在,提示“已存在”,如果未存在,执行保存方法!

 // 通知公告  新增
 public int saveManage(Map<String, String> param) throws BusinessException {
  if(checkExi(param.get("NOTICE_TITLE"))!=0){
   throw new BusinessException("此标题已存在!");
  }
  return update("com.resoft.infodisc.central.informationmaintenance.mappings.noticeManagementFaDao.saveManage", param);
 }
 //  通知公告 标题   新增   唯一校验
 public int checkExi(String NOTICE_TITLE){
  Map<String, Object> paramMap = new HashMap<String, Object>();
  paramMap.put("NOTICE_TITLE", NOTICE_TITLE);
  return checkExist("com.resoft.infodisc.central.informationmaintenance.mappings.noticeManagementFaDao.checkExi",paramMap);
 }

然后在Dao层XML里面给checkExi 写一个 按照标题的查询 即可

1.6 在使用 easyui-combobox 时,经常下拉菜单的内容并不是在页面上写死的 而是要从数据库中某类别字段中取出,那么如何实现呢?

 <td style="padding-left:10px">公告类型:<select name="R2" id="R2" class="easyui-combobox" style="width:200px"
                            data-options="editable:false, url:‘${ctx}/central/informationmaintenance/notice/getManage?type=root‘,method:‘post‘,valueField:‘code‘,textField:‘name‘, icons:[{
                                iconCls:‘icon-clear‘,
                                handler:function(e){
                                    $(e.data.target).combobox(‘clear‘);
                                }
                            }]">
                        </select>
                        </td>

然后在控制层给getManage一个方法,在service 层返回值为list,XML里写个查询即可

1.7 数据库里新增判断,有时候,我们做一个审核按钮,要更新数据库里的字段,比如字段为“0”则更新为为“1” ,如果字段为"4"则更新为“6”,我们可以在xml里直接给update语句用case和when,长知识了原来新增也能用case,不只是查询哦。

  <!--通知公告   复核  -->
  <update id="checkNotice" parameterType="java.util.Map">   
      UPDATE T_ANNOUNCE_NOTICE_INFO 
       SET   STATUS =  (
            case  STATUS
            when ‘0‘ then ‘1‘
            when ‘4‘ then ‘6‘  
       end )
     WHERE NOTICE_ID = #{id}  and ( STATUS = ‘0‘ or STATUS =  ‘4‘)
  </update>

1.8 打开一个页面的时候,有时需要直接将数据加载到页面上,将数据加载到页面的方法很多,最简单就是直接用ready方法,然后一个查询语句查一下,再把值传给界面。

//数据加载
//var html = ‘<table id="informationAddDataGrid"></table>‘;
$(document).ready(function(){
 var row = $(‘#announcementNoticeListDataGrid‘).datagrid(‘getSelected‘);
 var param = {NOTICE_ID : row.NOTICE_ID};
 //alert(param.NOTICE_ID);
 $.post("${ctx}/client/announcementManagement/loadNotice",param,function(data){
  $(‘#form‘).form(‘load‘,data);
  $(‘#pDate‘).html(data.PUBLISH_DATE);
  $(‘#pTitle‘).html(data.NOTICE_TITLE);
  //alert(data.NOTICE_CONTENT);  
    //document.getElementById("type").innerHTML = data.NOTICE_CONTENT;  
 },"json");  
});

这里给控制层的方法名是“loadNotice”,根据id一个字段取值,可以考虑不用封装,直接传值,但是如果后续需要,再给map拼值得时候,封装还是比较方便的,所以,最好不管从界面取多少字段,都封装然后在传值(如果实在没必要,可以不封装),这里用load方法,自动加载数据,但是记得name的名字和数据库的子弹要对应!,pDate‘和pTitle‘是直接给的P标签,不用考虑html文本的样式,而CONTENT字段存的是html文本,不能直接加载,比如,在界面上,存的空格和换行一类的是以html的格式存进数据库的,取得时候取得也是html文本,这样在直接显示的时候往往会丢失空格和换行等,可以考虑用ckediter,我用的是直接加textbox,然后给改一下背景颜色。

     如何给map拼接  比如 从数据库查出来的类别有 “男”和“女”,但是往往页面上需要一个“全部”,而“全部”不能存在数据库里,而且在查询的时候还要取得“全部”的 key值,将在下节中描述。

 

JAVA 随笔(一)

标签:

原文地址:http://www.cnblogs.com/zhk1991/p/5006647.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!