在JavaWEB应用中,上下文是十分重要的概念,但在JavaScript中没有对应的概念,也不能通过解析URL得到,因此往往在使用第三方产品时,遇到不小的麻烦,我们可以用<%@page contentType="text/javascript" pageEncoding="utf-8"%>指令将jsp文件标识为js文件,在这个jsp文件中定义供js调用的上下文变量。这里以配置百度UEditor在线编辑器为例。
一、文件路径
1、UEditor路径:上下文/ueditor
2、root.jsp路径:上下文/root.jsp
3、示例ue.html:上下文/ue.html
二、标识为js文件的root.jsp文件,在这个文件中定义供js调用的上下文变量ROOTPATH
<%@page contentType="text/javascript" pageEncoding="utf-8"%>
<%
out.println("var ROOTPATH = '" + request.getContextPath() + "';");
%>
三、修改UEditor的editor_config.js文件
以下是在editor_config.js文件中百度UEditor的原始配置
var URL= "../"; //这里你可以配置成ueditor目录在您网站的相对路径或者绝对路径
修改后的配置
var URL=ROOTPATH+"/ueditor/";
四、示例ue.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<title>UEditor范例</title>
<script type="text/javascript" charset="utf-8" src="root.jsp"></script>
<script type="text/javascript" charset="utf-8" src="ueditor/editor_config.js"></script>
<script type="text/javascript" charset="utf-8" src="ueditor/editor_all.js"></script>
<link rel="stylesheet" type="text/css" href="ueditor/themes/default/ueditor.css"/>
<style>
.myEditor { width: 1024px;}
</style>
</head>
<body>
<h1>ueditor编辑器完整功能</h1>
<script type="text/plain" id="myEditor" class="myEditor">
</script>
<script type="text/javascript">
var editor = new baidu.editor.ui.Editor();
editor.render('myEditor');
</script>
</body>
</html>