That line of code has to be placed in a HTML <script>
tag in a .jsp
file. This way the JspServlet
will process the scriptlets (and other JSP/EL specific expressions).
<script>var myVar = '<%= request.getContextPath() %>';</script>
Note that <%= %>
is the right syntax to print a variable, the <% %>
doesn't do that.
Or if it is intended to be served in a standalone .js
file, then you need to rename it to .jsp
and add the following to top of the file (and change the <script src>
URL accordingly):
<%@page contentType="text/javascript" %>
...
var myVar = '<%= request.getContextPath() %>';
This way the JspServlet
will process it and the browser will be instructed to interpret the JSP response body as JavaScript instead of HTML.
Unrelated to the concrete problem, note that scriptlets are considered poor practice. Use EL.
var myVar = '${pageContext.request.contextPath}';
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…