-
项目中常用的小方法
普通类 -
- 支持
- 批判
- 提问
- 解释
- 补充
- 删除
-
-
一、如何将字符串转换成数组
如果字符串有一定规律,如 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多个属性
- <class name="com.hibernate.pojo.Employee" table="EMPLOYEE">
- <id name="id" type="java.lang.String">
- <column name="id" length="20" />
- <generator class="assigned" />
- </id>
- <many-to-one name="address" class="com.hibernate.pojo.Address"
- fetch="select">
- <column name="add_id" length="20" />
- </many-to-one>
- <property name="name" type="java.lang.String">
- <column name="name" length="30" />
- </property>
- <property name="addrId" type="java.lang.String" insert="false" update="false">
- <column name="add_id" length="20" />
- </property>
- </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多个属性
- <class name="com.hibernate.pojo.Employee" table="EMPLOYEE">
- <id name="id" type="java.lang.String">
- <column name="id" length="20" />
- <generator class="assigned" />
- </id>
- <many-to-one name="address" class="com.hibernate.pojo.Address"
- fetch="select">
- <column name="add_id" length="20" />
- </many-to-one>
- <property name="name" type="java.lang.String">
- <column name="name" length="30" />
- </property>
- <property name="addrId" type="java.lang.String" insert="false" update="false">
- <column name="add_id" length="20" />
- </property>
- </class>
注意:如果将一个字段映射到POJO的多个属性,需要注意的是,只能通过一个属性修改数据库。其它的映射属性只能查询数据。将其它属性设置为insert="false" update="false"。
-
二十二、request获得带参数的网站地址
-
二十三、动态改变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条)
聪明如你,不妨在这 发表你的看法与心得 ~