在JSP页面中,我使用的是自定义JSTL函数,该函数将request
对象作为输入之一。
目前我在JSP中使用以下方式访问它。
<c:if test="${custom:isVisitorFromNorthAmerica(request)}">
...
</c:if>
标签功能定义如下,
<function>
<name>isVisitorFromNorthAmerica</name>
<function-class>com.x.y.JspELFunctions</function-class>
<function-signature>
java.lang.Boolean isVisitorFromNorthAmerica(javax.servlet.http.HttpServletRequest)
</function-signature>
</function>
在custom#isVisitorFromNorthAmerica
的函数定义中,请求对象为null。我不知道如何访问request
对象,而不依赖于scriptlet。
我确保发送到自定义标记的request
对象不为空,因为我在自定义函数调用之前添加了一个scriptlet&amp;设置得当。
答案 0 :(得分:2)
我找到了答案。我需要使用pageContext
访问它。所以不要这样称呼它,
<c:if test="${custom:isVisitorFromNorthAmerica(request)}">
我需要这样称呼它,
<c:if test="${custom:isVisitorFromNorthAmerica(pageContext.request)}">