服务器端将多个js文件整合到一个请求内输出,是一种常用的减少页面请求数的方法;另外,如果js文件间的逻辑是相互依赖的,需要控制它们的加载顺序,在服务器端做文件整合也可以规避这种扯淡的事
以前php的时候,使用简单的“include”,就可以完成这事,最近做了一个java的项目,也想使用这种方式,就想用jsp的include试试,已经想到了可能会有中文乱码的问题,于是加上了:pageEncoding=”UTF-8″
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ page contentType="application/javascript" %> <%@ include file="xxx1.js" %> <%@ include file="xxx2.js" %> <%@ include file="xxx3.js" %> |
结果~~~还乱码 o(╯□╰)o
查了很多资料,做了N多测试,大概有这么几种
1. 将文件另存为“utf-8”格式,覆盖到项目里
—-觉得这是多此一举,直接在eclipse里修改文件属性不就行了:检查文件属性,本来就是utf-8
2. 在web.xml里做一些设置,让js文件可以做jsp解析
—-无效
3. script标签加上“charset”,等效的,jquery ajax加载脚本上,加上“scriptCharset”
—-折腾了半天,还是无效
4. 。。。。。
搞来搞去,还是没有成功,jsp的乱码问题果然名不虚传 +_+
刚才,本着死马当活马医的精神,拿第一种方法试了试,使用txt编辑器将js代码拷出来,另存为utf-8格式,在覆盖到项目目录内~~ok了 ~\(≧▽≦)/~
(看来eclipse文件属性里的编码只是说以什么编码方式打开,和文件本身的编码的方式无关)
—————
btw:两年多没有碰过java了,这次帮别的部门做项目,不得不又开始搞jsp,有了php的类比,深感用jsp/tomcat做web网站有多么麻烦,jstl简直多此一举。更喜欢php的方式:通过“”标签将服务器端逻辑和浏览器端的逻辑完全分开,简洁而不失优雅。反观el/jstl,非要将本来属于java端的逻辑与html混在一起~~~java还是适合做复杂的后台逻辑,然后用类似thrift的东西与web端解耦