• 项目中常用的小方法

    普通类
    • 支持
    • 批判
    • 提问
    • 解释
    • 补充
    • 删除
    • 一、如何将字符串转换成数组

    如果字符串有一定规律,如 s =“23-3-4-2”
    可以按照String[] str = s.split("-");
    这样可以按照“-”拆分字符串成字符数组

    • 二、页面中传递的参数含有特殊字符

    当从页面传递参数时 , 参数里有 "+",“#”,“&” 时,要做处理,否则到后台会变成空格
    解决方案:

    1 、改用 p ost 方法 ,ok
    2 、在 js 里用 url = encodeURI(encodeURI(XXX)) ,后台再解码一次, ok
    3 、将参数里的加号进行转换
    data = data.replace(/\+/g, "%2B");
    data = data.replace(/\&/g, "%26") ;
    data = data.replace(/\#/g, "%23") ;

    • 三、改变div区域的值

    1、问题描述:

    有一个id=“divId”的div区域,原来的值是AA,现在想根据用户的输入改变其值。

    2、解决方法:

    写一个js函数:changeValue();。然后在页面中定义一个指向该函数的onclick事件。

    js函数为:

    var currentValue = prompt("请输入您要更改的值","原来的值");
    document.getElementById(’divId’).innerHTML=currentValue;

    在这里还可以通过ajax方式和后台发生交互。

    • 四、服务器mysql的重装

    1、重装前一定要备份,一是导出sql语句,二是直接copy data目录下learningcell文件夹。

    2、用360卸载mysql,然后强力清扫,之后删除mysql的安装文件(删除不了要重启电脑)。

    3、安装完成要configure,configure的时候当最后一步通不过的时候要关掉其他和mysql相关的服务,比如tomcat等。

    4、有时直接复制data文件会出问题,这时可以删除learningcell数据库,然后新建一个空的learningcell数据库,用命令方式source导入。

    • 五、json数据的使用

    JSONObject和JSONArray是数据类型,其声明的变量是引用,在每次使用时要new一个新的实例。

    • 六、得到网站的物理地址

    request.getRealPath("/");

    • 七、java复制文件的代码

    try {
    // 旧地址
    FileChannel srcChannel = new FileInputStream("srcFilename").getChannel();

    // 新地址
    FileChannel dstChannel = new FileOutputStream("dstFilename").getChannel();

    // Copy file contents from source to destination
    dstChannel.transferFrom(srcChannel, 0, srcChannel.size());

    // Close the channels
    srcChannel.close();
    dstChannel.close();
    } catch (IOException e) {
    }

    • 八、js的event在ff中的兼容

    在ff的js中调用event.clientX会报错,因为ff没有event对象。

    解决办法是:在函数参数中传递event参数。

    • 九、学习元DAO中的persist和save

    persist是更改记录,save是新建数据库记录

    • 十、css控制首行缩进

    text-indent: 2em;

    • 十一、英文的强制换行

    word-break:break-all;
    word-wrap : break-word ;

    overflow:auto;

    对于<table>下的<td>:

    先在<table>中设置样式:table-layout:fixed;然后设置<td>的样式:word-wrap:break-word;

    • 十二、action写js语句

    if(content.length()==0){
        response.setCharacterEncoding("gbk");
        response.getWriter().write("<script>alert(’内容不能为空!’);</script>");
        response.getWriter().write("<script>window.history.go(-1);</script>");
        return null;
    }

    • 十三、得到当前时间的TimeStamp对象

    new Timestamp(new java.util.Date().getTime());

    • 十四、注意window.onload

    问题描述:dom中命名有相应的id,但是在js中通过document.getElementById()就是获取不到,alert显示的是null。

    问题分析:在页面还没加载完成的时候就去或得相应的dom节点,则很可能dom节点还没被加载,所以是null。

    问题解决:把document.getElementById()放到window.onload=function(){}中去就ok了。

    • 十五、有关服务器的域名解析

    219.142.121.10这个服务器突然域名解析不了。开始的时候以为是DNS服务器的问题,后来才发现时10上的DNS服务停掉了。
     

    • 十六、自己搭建hibernate遇到的问题

    首先,符合主键的问题。在配置*.hbm.xml的时候要用:

    <composite-id>
    <key-property name="synsetId">
    <column name="synset_id"></column>
    </key-property>
    <key-property name="wnum">
    <column name="w_num"></column>
    </key-property>
    </composite-id>

    其次,对应的实体类要实现java的Serializable借口

    最后,实体类的属性名的第二个字符不能大写,这是hibernate的一个bug。

    • 十七、Hibernate中将一个字段映射到POJO多个属性
    1. <class name="com.hibernate.pojo.Employee" table="EMPLOYEE">  
    2.     <id name="id" type="java.lang.String">  
    3.         <column name="id" length="20" />  
    4.         <generator class="assigned" />  
    5.     </id>  
    6.     <many-to-one name="address" class="com.hibernate.pojo.Address"  
    7.         fetch="select">  
    8.         <column name="add_id" length="20" />  
    9.     </many-to-one>  
    10.     <property name="name" type="java.lang.String">  
    11.         <column name="name" length="30" />  
    12.     </property>  
    13.     <property name="addrId" type="java.lang.String" insert="false" update="false">  
    14.         <column name="add_id" length="20" />            
    15.     </property>  
    16. </class>

    注意:如果将一个字段映射到POJO的多个属性,需要注意的是,只能通过一个属性修改数据库。其它的映射属性只能查询数据。将其它属性设置为insert="false" update="false"。

    • 十八、父框架刷新子框架

    window.子框架名称.子子框架名称.location="url";

    • 十九、推到页面顶部的js代码

    window.scrollTo(x,y);

    若果是在框架里面,要先回到父框架:window.parent.scrollTo(x,y);

    • 二十、获得鼠标事件发生是鼠标的坐标

    以鼠标单击被按下为例:

     

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1- 
    transitional.dtd"> 
    <html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> 
    <title>JS获得鼠标位置(兼容多浏览器ie,firefox)脚本之家修正版</title> 
    </head> 
     
    <body> 
     
    <script> 
    function mouseMove(ev) 
    ev= ev || window.event; 
    var mousePos = mouseCoords(ev); 
    alert(ev.pageY); 
    document.getElementById("xxx").value = mousePos.x; 
    document.getElementById("yyy").value = mousePos.y; 
     
    function mouseCoords(ev) 
    if(ev.pageX || ev.pageY){ 
    return {x:ev.pageX, y:ev.pageY}; 
    return { 
    x:ev.clientX + document.body.scrollLeft - document.body.clientLeft, 
    y:ev.clientY + document.body.scrollTop - document.body.clientTop 
    }; 
     
    document.onclick = mouseMove; 
    </script> 
    鼠标 X 轴: 
    <input id=xxx type=text> 
     
    鼠标 Y 轴: 
    <input id=yyy type=text> 
    </body> 
     
    • 二十一、Hibernate中将一个字段映射到POJO多个属性
    1. <class name="com.hibernate.pojo.Employee" table="EMPLOYEE">  
    2.     <id name="id" type="java.lang.String">  
    3.         <column name="id" length="20" />  
    4.         <generator class="assigned" />  
    5.     </id>  
    6.     <many-to-one name="address" class="com.hibernate.pojo.Address"  
    7.         fetch="select">  
    8.         <column name="add_id" length="20" />  
    9.     </many-to-one>  
    10.     <property name="name" type="java.lang.String">  
    11.         <column name="name" length="30" />  
    12.     </property>  
    13.     <property name="addrId" type="java.lang.String" insert="false" update="false">  
    14.         <column name="add_id" length="20" />            
    15.     </property>  
    16. </class>  

    注意:如果将一个字段映射到POJO的多个属性,需要注意的是,只能通过一个属性修改数据库。其它的映射属性只能查询数据。将其它属性设置为insert="false" update="false"。

    • 二十二、request获得带参数的网站地址
    String   url=request.getScheme()+"://";     url+=request.getHeader("host");     url+=request.getRequestURI();   //  if(request.getQueryString()!=null)         url+="?"+request.getQueryString();   //或得参数      out.println(url);
    • 二十三、动态改变dom

    以在iframe内改变父页面的select选项的值为例:

    //动态改变top发帖中的select选项--开始
    var selectDom = window.parent.document.getElementById("allSubjectsList_select");
    var newOption = document.createElement('option');
    newOption.text = subjectTitle;
    newOption.value = data;
    selectDom.appendChild(newOption);
    //动态改变top发帖中的select选项--结束
    • 二十四、解决Tomcat 不能下载带中文文件名的附件的方法

    tomcat的server.xml文件(这里是解决含有中文的文件、图片的不能下载、显示的问题): 
    <Connector port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
    enableLookups="false" redirectPort="8443" acceptCount="100"
    debug="0" connectionTimeout="20000" 
    disableUploadTimeout="true" URIEncoding="UTF-8"/>

    URIEncoding="UTF-8" 加上这句就可以识别中文文件了,也就是不光可以在jsp中显示中文,还可以下载显示。

    • 二十五、js对中文编码

    encodeURI()对一个URI编码

    • 标签:
    • ev
    • 属性
    • 改变
    • 文件
    • 参数
    • data
    • 鼠标
    • 常用小方法
    • 问题
    • 学习元
    • js
    • 页面
  • 加入的知识群:
    学习元评论 (0条)

    评论为空
    聪明如你,不妨在这 发表你的看法与心得 ~



    登录之后可以发表学习元评论
      
暂无内容~~
顶部