Daily Archives: 2012 年 11 月 19 日

Hello World

使用jsp输出js

    服务器端将多个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端解耦