Java 设置url的上下文路径时出错

Java 设置url的上下文路径时出错,java,jsp,contextpath,Java,Jsp,Contextpath,我正在jsp页面中设置上下文路径,但它在运行jsp页面时显示错误 如下图所示 <c:set var="path" value="${pageContext.request.contextPath}"/> <% urlName='<c:out value="${path}"/>/tran/handleTransactionResults.do'; %> ${path}未显示上下文路径。不能在scriptlet中使用JSP标记。这样做: <c:set

我正在jsp页面中设置上下文路径,但它在运行jsp页面时显示错误

如下图所示

<c:set var="path" value="${pageContext.request.contextPath}"/>

<% urlName='<c:out value="${path}"/>/tran/handleTransactionResults.do'; %>


${path}未显示上下文路径。

不能在scriptlet中使用JSP标记。这样做:

<c:set var="path" value="${pageContext.request.contextPath}"/>
<% urlName= request.getAttribute("path") + "/tran/handleTransactionResults.do"; %>

甚至更简单:

<% urlName= request.getContextPath() + "/tran/handleTransactionResults.do"; %>

如果只想输出路径,可以使用
快捷方式:

<%= request.getContextPath() + "/tran/handleTransactionResults.do"; %>

不能在scriptlet中使用JSP标记。这样做:

<c:set var="path" value="${pageContext.request.contextPath}"/>
<% urlName= request.getAttribute("path") + "/tran/handleTransactionResults.do"; %>

甚至更简单:

<% urlName= request.getContextPath() + "/tran/handleTransactionResults.do"; %>

如果只想输出路径,可以使用
快捷方式:

<%= request.getContextPath() + "/tran/handleTransactionResults.do"; %>


运行时不会解释您为
urlName
设置的值,它只是一个Java字符串。这个页面编译了吗?那怎么编译呢。有时它会工作..有时会显示错误页面。我的理解是@nfechner解决了您的问题。运行时不会解释您为
urlName
设置的值,它只是一个Java字符串。这个页面编译了吗?那怎么编译呢。有时它会工作..有时会显示错误页面。我的理解是@nfechner解决了您的问题。在您的第一个场景中,它会将链接显示为
/dnweb/tran/null
获取错误。但在第二个场景request.getContextPath()中,它完美地显示为
/dnweb
,工作正常。最后一个是你表达的。我没有试过。无论如何,谢谢。它工作正常。在第一个场景中,它将链接显示为
/dnweb/tran/null
获取错误。但在第二个场景request.getContextPath()中,它完美地显示为
/dnweb
,工作正常。最后一个是你表达的。我没有试过。无论如何,谢谢。它工作得很好。