摘要: 背景最近刚入职新公司,浏览一下新公司项目,发现项目中大多数JSP页面都是独立的、完整的页面,因此许多页面都会有如下重复的代码: ${webModule.module.name} ---xxxx小伙伴们每新添加一个页面,就需要copy一份上面这坨代码,还需要在各自页面重复引入公共的头尾文件(如head... 阅读全文
posted @ 2015-06-24 09:54 逆风之羽 阅读(3403) 评论(3) 推荐(3) 编辑
摘要: 前言文件下载功能中的文件名处理,这又是个老生长谈的问题了,网络上也有各种解决方式,但可能由于各自项目语言以及编码不同导致多数方案都不尽如人意,最近又遇到这个问题,姑且根据自己的环境和编码总结一下后续观点都是基于如下环境服务端语言:JAVA项目编码:GBK应用服务器Resin 3.1分析Firefox会截断空格问题在Firefox下,如果文件名中有空格,那么空格后面部分的文字会被浏览器截取掉,客户端获取不到完整的文件名解决方案:将文件名使用双引号包裹起来使用MimeUtility.encodeWord(filename)方法,将其编码为“=?gb2312?B?xxxxxxxx?=”格式,其中的空 阅读全文
posted @ 2014-03-13 19:15 逆风之羽 阅读(2212) 评论(1) 推荐(1) 编辑
摘要: 相关介绍1、Node.js或者Node,是一个可以让javascript运行在服务器端的平台。2、Node.js是一个为实时Web应用开发而诞生的语言,它从诞生之初就充分考虑了再实时响应、超大规模数据要求下的可扩展性。这使得它摒弃了传统平台依靠多线程来实现高并发的设计思路,而是采用了单线程、异步式IO、事件驱动式的程序设计模型。3、Node.js采用现在应用于chrome的Javascript引擎V8。V8号称目前世界上最快的Javascript引擎。4、Node.js遵循CommonJs规范,但是也并不完全遵循。Hello Worldvar http = require('http& 阅读全文
posted @ 2013-08-30 10:19 逆风之羽 阅读(445) 评论(0) 推荐(0) 编辑
摘要: 背景近期项目前端决定使用less,简单介绍一下,详细信息有兴趣查看官方文档(http://www.lesscss.net/article/home.html)LESSCSS是一种动态样式语言,属于CSS预处理语言的一种,它使用类似CSS的语法,为CSS的赋予了动态语言的特性,如变量、继承、运算、函数等,更方便CSS的编写和维护。简单来说,它自定义了一套语法规则,在css中提供公共变量的抽取,简单的函数运算等功能,最终通过编译器或解析器将其编译或解析为相对应的css代码。但是LESS文件在何时编译成为一个值得关注的问题,按照常规方式由几种方案1、前端人员手工将less文件编译为css,并在页面引 阅读全文
posted @ 2013-08-07 10:22 逆风之羽 阅读(5563) 评论(2) 推荐(2) 编辑
摘要: Javascript是一门非常灵活的语言,我们可以随心所欲的书写各种风格的代码,不同风格的代码也必然也会导致执行效率的差异,开发过程中零零散散地接触到许多提高代码性能的方法,整理一下平时比较常见并且容易规避的问题Javascript自身执行效率Javascript中的作用域链、闭包、原型继承、eval等特性,在提供各种神奇功能的同时也带来了各种效率问题,用之不慎就会导致执行效率低下。1、全局导入我们在编码过程中多多少少会使用到一些全局变量(window,document,自定义全局变量等等),了解javascript作用域链的人都知道,在局部作用域中访问全局变量需要一层一层遍历整个作用域链直至 阅读全文
posted @ 2013-03-29 09:00 逆风之羽 阅读(14131) 评论(37) 推荐(55) 编辑
摘要: 静态资源合并,老生常谈的话题了,目的就是减少http请求数,至于为什么要减少http请求大家应该都有所了解,这里就不多赘述,近期由于项目需要,自行开发了一个文件合并工具,由于源码在公司研发网络拿不出来,见谅!这里介绍一下工具的开发过程和大概实现思路,第一次发文到首页,请兄弟们多多指点。最终效果,先睹为快^_^最终合并后的效果 项目编译时自动合并所有js文件 经过测试:解析488个jsp文件,最终将314个js文件合并为77个,用时在一秒以内,因此打包时不会耗费太长时间。对现有几个开源合并工具的分析 起初,本着不重复造轮子的想法,我也曾对现有的一些比较成熟的工具进行过分析:1、mi... 阅读全文
posted @ 2012-12-16 21:01 逆风之羽 阅读(3438) 评论(5) 推荐(5) 编辑
摘要: 最近遇到一个需求,浏览器回退后在页面上提示一些信息,并自动跳转到首页大家都知道,浏览器的回退只是从缓存中将上一页面取出来后展示在,而页面上的js代码并没有执行,那么怎么才能让后退后的页面执行一些操作呢?能否让浏览器重新去服务器请求会退后的页面呢?答案是可以的,只要在服务端设置禁止缓存该页面即可,浏览器在获取不到该页面缓存只有回去服务端重新请求该页面并初始化,那么我们需要的初始化操作就可以执行了1 response.setDateHeader("Expires",0);2 response.setHeader("Cache-Controll"," 阅读全文
posted @ 2012-07-31 09:02 逆风之羽 阅读(3642) 评论(2) 推荐(0) 编辑
摘要: 最近项目中加入社区话题功能,发布话题时多处用到对于文本框输入字数进行统计的功能,因此写了一个小控件供大家使用。主要实现功能:1、统计当前文本域、输入框已输入字符数。2、计算剩余可以输入字符数。3、当输入字符达到上限时切换提示样式,给予提示。4、支持传入自定义事件在输入字数达到某个数值时执行。5、区分中英文字符统计。效果图如下:/** * author:gew * * 本方法用于实时统计输入框已输入的字数 * * 调用方法示例: * $("#xxx").checkInputNum({ * "maxNum":1000, 输入字符上限 * "nowN 阅读全文
posted @ 2012-05-14 23:45 逆风之羽 阅读(1259) 评论(2) 推荐(0) 编辑
摘要: 中文参数总是会引起一些乱码问题,烦不胜烦。js默认的UTF-8编码,java项目使用的是gbk编码,使用ajax请求获取到数据然后作为参数请求下一个页面时就会发生乱码 其实java项目所使用的应用服务器(tomcat、resin等)本身就会根据项目编码格式默认的对参数进行一次加密和解密。 后来摸索了一下有两个解决方案: 1)、对请求的参数值进行两次URLEncode() 原理:第一次进行encode后会将字符串转换为ascii字符编码,这个时候汉字就不是多字节字符编码了,这个时候再对其进行第二次编码,因此,当第一 次解析时不管使用何种解析方式得到的都是第一次编码所得到的asscii... 阅读全文
posted @ 2012-02-07 15:57 逆风之羽 阅读(683) 评论(0) 推荐(1) 编辑