每个jsp页面中都要获取basePath,怎么一次性为所有jsp都设置basePath变量?

听!起风了~~~ 2015-09-17 04:14:06
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

每个新建jsp页面都有上面这段代码,我现在想使用EL表达式获取,但${pageContext.request...}又太麻烦,能不能再java逻辑处理货配置文件中设置一个全局变量,便于使用。而且我还有些其他自定义的数据需要设置成全局变量
请问怎么做???
...全文
1881 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
nx7_0 2016-06-21
  • 打赏
  • 举报
回复
你好,请问你是怎么用listener实现ServletContextListener接口的啊,能看看你的实现方法吗?我琢磨了好久了,拜托啦
听!起风了~~~ 2015-09-21
  • 打赏
  • 举报
回复
引用 7 楼 qq_20062767 的回复:
解决方法:只要在访问JSP页面之前设置就行了,可以放到filter里面,过滤就行了,这样子代码只写一次。
我用listener实现ServletContextListener接口,将变量存在servletContext范围内。通过自动获取项目名称,在服务器启动时设置变量值,实现了这个功能。 请问你说的放在filter怎么实现? 另外你知道ServletContextEnum怎么去的http://localhost:8080/这一段吗?
听!起风了~~~ 2015-09-18
  • 打赏
  • 举报
回复
如果写一个公共文件,那还需要每次都导入,还是挺麻烦的。我试着用拦截器,拦截所有springmvc的请求,在拦截器方法里把basePath设置到request里,但页面打开速度太慢
听!起风了~~~ 2015-09-18
  • 打赏
  • 举报
回复
引用 1 楼 oLeiChang 的回复:
写在头部里呀,每个页面引用头部就可以了
就是不想每个页面都写才有这烦恼
qq_20062767 2015-09-18
  • 打赏
  • 举报
回复
解决方法:只要在访问JSP页面之前设置就行了,可以放到filter里面,过滤就行了,这样子代码只写一次。
「已注销」 2015-09-18
  • 打赏
  • 举报
回复
写一个公共文件吧,把变量定义好,在头部引入。去掉basePath。
General-M 2015-09-17
  • 打赏
  • 举报
回复
公共文件、、、、
kuangwe 2015-09-17
  • 打赏
  • 举报
回复
<c:set var="base" value="${pageContext.request.contextPath}"/>
oLeiChang 2015-09-17
  • 打赏
  • 举报
回复
写在头部里呀,每个页面引用头部就可以了

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧