首页 > 代码库 > 平时开发中的小笔记
平时开发中的小笔记
svn : A:add,新增
C:conflict,冲突
D:delete,删除
M:modify,本地已经修改
G:modify and merGed,本地文件修改并且和服务器的进行合并
U:update,从服务器更新
R:replace,从服务器替换
I:ignored,忽略
1 java.net.URLEncoder URLEncoder.encode(“要传的内容”,”utf-8”); 函数原理就是首先把中文字符转换为十六进制,然后在每个字符前面加一个标
识符%。
2. JS 里encodeURI()方法 ?它是js 函数 对字符串 编码
3.request.getRequestURL() 整个http 请求
4. request.getQueryString(); 获取请求地址‘?’后面的条件字符串
5.PropertyUtils.copyProperties(新的对象,目标对象); 复制2个对象相同名称的属性值。
6.checked 标签 被选中时 value 属性值 才有用, 否则 你不选中,value 设置任何值,后台接受都是null。
7.String.split(“[.]”); 以小数点切割字符串 小数点必须转义。
8. <if test="null != customsStatusNotEq" >
<![CDATA[
andjob_customs.customs_status <> #{customsStatusNotIN}
]]>
</if> CDATA是为了不需要转译符。(在Mybatis sqlMap文件中)
9, EL表达式怎么获取M ap集合中Key为int类型的Value值?
答:$ { map [key] };
10, <td> tltle 属性 是 : 鼠标悬停在td上面时显示title的内容
11;GROUP_CONCAT( DISTINCT CONCAT_WS(‘-‘,user.CONTACT,user.LOCATION) SEPARATOR ‘<br/>‘) 翻译 :user.CONTACT,user.LOCATION 之间用
“-”并且 换行<br/> ; 注意:如果类型为INT 会出现BLOB ,Convert(字段,char) 可以解决。CONCAT_WS 是用来把两个字段内容连接。
12 , var chks = $("input[name=‘chks‘]:checked");
chks.each(function() {
ids += "," + $(this).val();
}); 该方法 循环被选中的ckeckbox ,.val() 取出选中的checkbox 属性value值
13 ,js 里 字符串以逗号切割 与 java 不用,长度会出现不同。Js 会多一个 空串。
14, $.each(数组,function(i,val){
// 循环数组 ,i代表当前循环次数,val 代表当前循环对象
})
15,HtmlParse 对象或者jsoup 类 可以对html 字符串进行处理 (HtmlParse 对象很少用, 因为更新少), httpclient 对象 可以在后端 发送请求。
16 , <a> 标签 属性 target =”_blank” 意思是 在新窗口打开目标文件 ,target=”_self”是默认的。意思是 在当前窗口打开网页
17,<c:forEach> 中可以使用JS ,也可以使用${_varStatus.index } 获取当前循环下标。
18,iframe 局部刷新,选择器选中iframe ,然后点 contentWindow.location.reload(true); 实现刷新
19,<select>标签<option> 只要加上一个name 属性 就能随表单一起提交了。name 值 等于实体类的一个对应属性 ,$("#selectID").val() 获取的值就是选
中的option 的value 属性值
20,@WebParam :@WebService发布成wsdl时候, 方法的参数名称被自动的映射成arg0, arg1,public User create( @WebParam(name = "user") User user
);
21, mybatis 在sqlMap 中 <insert id="insert" parameterType="JobException" useGeneratedKeys="true" keyProperty="id"></insert>
useGeneratedKeys意思是使用自动增长列的值 放入JobException属性为ID 中,
22,在mabatis SQLmAP 中 $ 和# 的区别 是 : $会将传进来的字符串去掉双引号,#会吧传进来的值加上双引号
23,表单提交时中文只要编码一次就行了,但是如果是通过window.open 或者是lication 提交的地址 编码一次是不够的 浏览器会自动解码,所以需要编码2
次。(因为tomcat 默认解码 为“iso 8859-01” 前台的两次编码第一次是将所有的中文转换成ASCII码。第二次针对ASCII字符串再次的编码。此时web服务器
的自带解码,无论使用何种编码解出来的都是正确的一串ASCII码字符串,对于web服务器解码后的这一串字符串,我们后台只需要使用相应的正确编码格式进行
解码,就可以得到正确的中文字符)
24,关于form 表单提交文件是属性enctype="multipart/form-data" 适合普通提交.submit() 方法 ,但是这个提交在控制器里request.getparamepter()
会娶不到 表单上的数据, 所以 一般我们用.ajaxSubmit() 提交表单。它可以处理文件和数据一起提交。
25,<input value="" val=""/> val 为 自定义属性名称随便起。js 取值时就用$("XXX").attr("val");
26,ByteArrayInputStream 和 fileInputStream 都 extend inputStream;
27, response.reset();
//response.setContentType("application/x-msdownload;charset=utf-8");
response.setContentType("application/jpg;charset=utf-8");
response.setHeader("Content-disposition", "attachment;filename= " + fileName); 浏览器弹出下载对话框,让用户自行打开还是保存。
28,var oFragment = document.createDocumentFragment(); 文档碎片, 用来保存大量数据 然后 一次性添加到页面的节点中。
29,ImageIo 操作 ::
//进行初始化
//init();
// 下载Object.
logger.info("*****************从OSS文件服务器下载文件流开始*****************" + key);
OSSObject ossObject = ossClient.getObject(bucketName, key);
// 读Object内容
InputStream in = ossObject.getObjectContent();
BufferedImage image = ImageIO.read(in);
ByteArrayOutputStream out = new ByteArrayOutputStream();
ImageIO.write(image, AppConfig.get(ossObject.getObjectMetadata().getContentType()), out);
out.close();
in.close();
// 关闭client
//ossClient.shutdown();
logger.info("*****************从OSS文件服务器下载文件流结束*****************" + key);
return out.toByteArray();
30. 空格 、 & & 、< < 、> > 、" " 、&qpos; ‘
31,表单 $.serialize() 之后 格式为 uasename=jack&password=123&... 与 get 请求相似。
32,
33,在AOP 处理中可以使用 ProceedingJoinPoint 类 来获取目标方法,但是 ProceedingJoinPoint 这个类 只支持@Around 环绕通知, 所以可以在方法结
尾处加 ProceedingJoinPoint.proceed(); 意思是继续执行请求目标方法。 这个功能其实和@before 是一样。但是如果直接用@before 就不能用
ProceedingJoinPoint类,只能用 JoinPoint 类 来获取方法。
平时开发中的小笔记