How to use scriptlet inside javascript

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}";

Leave a Comment