首页 > 代码库 > 平时开发中的小笔记

平时开发中的小笔记

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 ‘&lt;br/&gt;‘) 翻译 :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. &nbsp; 空格 、 &amp; & 、&lt; < 、&gt; > 、&quot; " 、&qpos; ‘

31,表单 $.serialize() 之后 格式为 uasename=jack&password=123&... 与 get 请求相似。

32,

33,在AOP 处理中可以使用 ProceedingJoinPoint 类 来获取目标方法,但是 ProceedingJoinPoint 这个类 只支持@Around 环绕通知, 所以可以在方法结
尾处加 ProceedingJoinPoint.proceed(); 意思是继续执行请求目标方法。 这个功能其实和@before 是一样。但是如果直接用@before 就不能用
ProceedingJoinPoint类,只能用 JoinPoint 类 来获取方法。






















平时开发中的小笔记