我们正在从我们的JSP页面生成CSS
和JavaScript
文件的链接。这些CSS和JS文件组织在区域设置特定文件夹。现在,我们需要从下载文件,以防万一请求的文件在指定的位置不可用(用于加载资源包的类似方法 - 如果特定于语言环境的Bundle不可用,则默认使用一个)。 你能否建议一种方法来实现这一点?从回退位置下载文件
1
A
回答
2
您可以让一个servlet处理获取特定于语言环境的文件。该servlet映射到像“/ yourApp/localeFile”一个URL,并用它在你的JSP中,如:
<script src="/yourApp/localeFile?name=something.js&locale=en_US">
该servlet会读,并返回语言环境的文件的内容,如果它存在。如果找不到该文件,它将返回回退语言环境文件的内容。
另外,也许你可以做一些事情,如有服务器的语言环境目录404处理程序返回后备文件。
+0
这是资源管理器的工作原理吗?我想实施相同的机制。 – Apps
0
如果您使用jsp-api-2.0,您可以编写标签文件,否则您只能使用概念。
在JSP创建/WEB-INF/tags/file.tag
<%@tag import="java.io.File"%>
<%@ taglib tagdir="/WEB-INF/tags" prefix="g" %>
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c"%>
<%@ attribute name="path" required="true" type="java.lang.String" rtexprvalue="true"%>
<%@ attribute name="file" required="true" type="java.lang.String" rtexprvalue="true"%>
<%
final PageContext pc = (PageContext) getJspContext();
final String lang = request.getLocale().getLanguage();
final String prefered = pc.getServletContext().getRealPath(path + "/" + lang + "/" + file);
final File file = new File(prefered);
if (file.exists()) {
pc.setAttribute("fileToUse", path + "/" + lang + "/" + file);
} else {
pc.setAttribute("fileToUse", path + "/" + file);
}
%>
${fileToUse}
添加
<%@ taglib tagdir="/WEB-INF/tags" prefix="g" %>
,那么你可以使用它作为
<script type="text/javascript" src='<g:file file="myfile1.js" path="/js" />'></script>
<script type="text/javascript" src='<g:file file="myfile2.js" path="/js" />'></script>
假设你有webapp/js,webapp/js/en ...文件夹。
相关问题
- 1. xap文件下载位置
- 2. 下载从http位置的文件,我得到以下错误
- 3. 选择文件下载位置
- 4. JBoss中可下载文件的位置?
- 5. IOS下载文件的位置
- 6. IE文件下载框获取位置
- 7. 地理位置回退
- 8. 如何从占位符下载文件
- 9. 隐藏下载文件位置。 - 重定向下载
- 10. 从外部位置加载JSP文件
- 11. 使用进度条从远程位置下载多个文件
- 12. 如何通过HTTP从多个位置下载单个文件?
- 13. 如何制作客户端,从原始位置下载文件?
- 14. 从c#中的共享保管箱位置下载文件
- 15. 无法从远程位置下载exe文件
- 16. 使用python脚本从FTP位置下载目录/文件
- 17. Mule无法从SFTP位置下载文件
- 18. Java:使用sftp从远程位置下载文件
- 19. 如何使用nodejs从项目/特定位置下载文件?
- 20. Inno Setup根据用户输入从位置下载文件
- 21. 从Strongloop环回下载文件
- 22. 从字节返回文件下载[]
- 23. APK的文件位于android下载位置?
- 24. 回发文件下载
- 25. 下载csv文件回环
- 26. 文件下载回拨
- 27. HtmlUnit设置下载位置
- 28. 从我的res/raw文件夹下载(复制?)一个文件到默认的Android下载位置?
- 29. Android WebView设置下载文件夹位置
- 30. 在Rails 5中放置可下载文件的正确位置
您是否使用apache作为静态内容的前端服务器? – Santosh
我正在使用IBM HTTP Server。我认为它建立在Apache之上 – Apps