在一个页面里这样访问了一个js文件

转载 2012年03月28日 11:47:44
之前看过很多朋友在csdn上发帖问怎么这么设置网站资源的访问路径好。按照本文的思路。记得是思路,只要你看懂了思路也不局限于实现这个接口。 就可以很好的去解决项目的资源路径。比如在一个页面里这样访问了一个js文件,将来不管这个页面怎么移动目录都不需要管这个js访问路径对不对(除非这个js资源移动了位置)
转载请标明本文出处:实现ServletContextListener解决项目资源访问路径不统一的问题

1 自定义一个实现类 ContextPathListener 它实现了 ServletContextListener

Java code
import javax.servlet.ServletContext; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; /** * 在页面里直接受用 ${path}/xxx/xxx.jsp 这样的方式访问资源 * @author http://www.gbsou.com * */ public class ContextPathListener implements ServletContextListener { /* * (non-Javadoc) * * @see javax.servlet.ServletContextListener#contextInitialized(javax.servlet.ServletContextEvent) */ public void contextInitialized(ServletContextEvent sce) { ServletContext sc = sce.getServletContext(); sc.setAttribute("path", getContextPath(sc)); } /* * (non-Javadoc) * * @see javax.servlet.ServletContextListener#contextDestroyed(javax.servlet.ServletContextEvent) */ public void contextDestroyed(ServletContextEvent sce) { ServletContext sc = sce.getServletContext(); sc.removeAttribute("path"); } private String getContextPath(ServletContext sc) { return sc.getContextPath(); } }


2 在web.xml 配置成listener
XML code
<listener> <listener-class> www.gbsou.com.listeners.ContextPathListener </listener-class> </listener>


3 这样的话 在项目启动时会去获取上下文路径并且以key为path保存到ServletContext 里

4 我们在jsp页面里访问css之类的资源时只需要用EL表达式这样写,将来不管jsp移到哪个目录都没问题了:
HTML code
<head> <link href="${path }/css/style.css" rel="stylesheet" type="text/css" /> </head>


相关文章推荐

判断一个页面是否加载了某个js文件

在加载嵌套等页面的时候,遇见了一种这样的情况,有的文件中已经加载了某个js,但是又加载了一遍,导致有些插件不能正常使用。 例如: !window.jQuery && document....

Laravel一个页面里有多个分页并用jQuery pagination.js实现

"{{asset('lib/js/jquery.pagination.js')}}"> //引入该文件前别忘了引入JQUERY库        $(function(){      //这是一个非常简...

java读取excel、txt 文件内容,传到、显示到另一个页面的文本框里面。

第一、 utils 工具类,读取Excel 、Txt文件 的方法! 如下:   public class Excel { /** * 读取Excel文件 * @param f...
  • yyh777
  • yyh777
  • 2012年06月01日 14:19
  • 991

很好玩的一个定位js页面

  • 2013年06月04日 16:24
  • 2KB
  • 下载

EXt6js创建一个页面

/** * Created by Cy on 2016/10/17. */ Ext.define('BSWeb.view.business.communityinfo.CommunityInfo'...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:在一个页面里这样访问了一个js文件
举报原因:
原因补充:

(最多只允许输入30个字)