JAVA 随笔(一)

 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值,将在下节中描述。

时间: 2024-08-24 00:29:56

JAVA 随笔(一)的相关文章

学习java随笔第八篇:封装、继承、多态

java和c#一样都是面向对象的语言. 面向对象的语言有三大特征:封装.继承.多态 封装 封装:隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别. class Person2 { private String name; public void setName(String name) { this.name=name; } public String getName() { return name; } private String sex; public voi

学习java随笔第七篇:java的类与对象

类 同一个包(同一个目录),类的创建与调用 class Man{ String name; void GetMyName() { System.out.println(name); } } public class Person { public static void main(String arges[]) { Man m=new Man(); m.name="小黄"; m.GetMyName(); } } 运行结果 不同的包(不同目录目录),类的创建与调用 package Peo

学习java随笔第六篇:数组

一维数组 创建一维数组并输出 public class OneDimensionalArray { public static void main(String argas[]) { int i[]=new int[10]; for(int j=0;j<i.length;j++) { i[j]=j; System.out.println(i[j]); } } } 多维数组 创建多维数组并输出 public class MultiDimensional { public static void m

学习java随笔第九篇:java异常处理

在java中的异常处理和c#中的异常处理是一样的都是用try-catch语句. 基本语法如下 try { //此处是可能出现异常的代码 } catch(Exception e) { //此处是如果发生异常的处理代码 } finally语句 try { //此处是可能出现异常的代码 } catch(Exception e) { //此处是如果发生异常的处理代码 } finally { //此处是肯定被执行的代码 } 抛出异常 使用thows和throw语句抛出异常 public static vo

Java 随笔

Java 随笔 @purpose:随手记下基础的一些知识,这些知识都是自己以前没怎么注意的基础知识,加深印象 1. static 方法:静态方法中只能引用外部的静态属性 2. this关键字: this 关键字是不能在 static 方法或者 static 代码块中使用的 原因:static 类型的方法或者代码块是属于类本身而不属于某个对象,this 本身就代表着当前类对象,然而静态方法或者块调用的时候是不用初始化对象的. 3. 异常处理: 问题:在程序猿编码时,常常要进行异常处理,不过处理异常

学习java随笔第十一篇:java窗体程序

要开java的窗体程序,就要下载开发窗体的工具. 这里我用的是的myeclipse,可以直接在网上下载安装即可. 我用的是10.0版本的,如果需要汉化的话,可以看一下这篇文章:myeclipse.10安装和汉化方法 java窗体 package java20130629; import javax.swing.*; public class Form extends JFrame { public Form() { this.setLayout(null); JLabel jl=new JLab

Java随笔——继承

一.继承的概念 继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类. 继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为.在生活中就相当于老虎,狮子等属于肉食动物,兔子,羊等属于食草动物,食草动物和食肉动物又都属于动物,所以继承需要符合父类更通用,子类更具体. 二.类的继承格式 extends 关键字可以申明一个类是从另外一个类继承而来的,继承格式为: Public class 子类 extends

JAVA随笔记录

面向对象 对象是类的蓝图 类是对象的实例 万物皆对象,对象因关注而产生 特征: 分装: 继承: 多态: 抽象: 引用数据类 基本数据类型和引用数据类型的区别 基本数据类型的值放在变量中 引用数据类型的值放在对象(String)中,变量名(s)中存的是引用,指向对象 JAVA程序的运行过程 1.源文件(.JAVA): 2.通过编译器编译成字节码(.class)文件: 3.运行: 4.把.class通过类加载器加载: 5.解释器解释代码(JAVA跨平台的原因): 6.os 常量氛分为数据常量和符号常

java随笔:三大特性之继承

Java三大特性之继承 一.介绍 笔记重点:构造器.protected关键字(这个自行查阅).向上转型.private关键字(继承非常重要的要点)  复用代码是Java众多引人注目的功能之一.但要想成为极具革命性的语言,仅仅能够复制代码并对加以改变是不够的,它还必须能够做更多的事情.在这句话中最引人注目的是"复用代码",尽可能的复用代码使我们程序员一直在追求的. 继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性地继

Java随笔二

1.常量:关键字final表示这个变量只能被赋值一次:可以使用关键字static final设置一个类常量,以供一个类中的多个方法使用. 2.字符串:Java没有内置的字符串类型,而是标准库中提供了一个预定义类,每个用双引号括起来的字符串都是String类的一个实例.可以用String 类的方法对字符串进行操作,如”子串“”拼接“:String 类没有提供用于修改字符串的方法. 3.构建字符串:1)采用字符串的连接方法,每次连接时都会构建一个新的String对象,耗时且浪费空间,可以采用Stri