如何在不使用JSP文件中的scriptlet的情况下访问应用程序上下文路径?

时间:2014-04-18 12:56:50

标签: java jsp scriplets

所以我的jsp文件中有这样的代码:

<a href="<%= getServletConfig().getServletContext().getContextPath() %>/registerMe.jsp"
               class="btn">Not a member? Register..</a>

我知道在JSP文件中使用scriplets是不好的做法。那我怎么能避免这种情况呢?

2 个答案:

答案 0 :(得分:1)

使用EL表达式:

<a href="${pageContext.servletContext.contextPath}/registerMe.jsp"
           class="btn">Not a member? Register..</a>

答案 1 :(得分:0)

您可以在您的操作类中使用request.getContextPath(),并且可以使用request将其作为字符串传递给JSP,或者您可以使用bean在JSP中获取它。

应用程序作用域对象存储为ServletContext的属性。如果&#34;函数调用&#34;可以访问ServletContext,然后它可以按如下方式获取它们:

Bean bean = (Bean) servletContext.getAttribute("beanname");

我当然希望&#34;功能&#34;正在servlet上下文中运行。即它是(通过)通常的方式由servlet直接执行的。

您还可以尝试this链接。它有完整解释的例子。