- 
							
项目中常用的小方法
普通类 - 
							
- 支持
 - 批判
 - 提问
 - 解释
 - 补充
 - 删除
 
 - 
							
- 
													一、如何将字符串转换成数组
 
如果字符串有一定规律,如 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条)
聪明如你,不妨在这 发表你的看法与心得 ~