Java JSP c:在代码范围中导入参数

Java JSP c:在代码范围中导入参数,java,jsp,Java,Jsp,我觉得这是一个微不足道的问题,但由于某种原因我无法解决它。 我希望将c:import参数作为JSP的“代码”中的变量而不是EL表达式来访问 从以下JSP: <%@ page pageEncoding="UTF-8"%> <%@ page language="java"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <c:import u

我觉得这是一个微不足道的问题,但由于某种原因我无法解决它。 我希望将c:import参数作为JSP的“代码”中的变量而不是EL表达式来访问

从以下JSP:

<%@ page pageEncoding="UTF-8"%>
<%@ page language="java"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>

                <c:import url="child.jsp">
                    <c:param name="foo" value="bar"/>
                </c:import>

对于导入的JSP:

<%@ page pageEncoding="UTF-8"%>
<%@ page language="java"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%

if( null == request.getAttribute("foo")  )
   throw new Exception();

%>

总是抛出异常,换句话说,这不是访问参数的正确方法


请告诉我应该如何执行此操作?

要显示参数的值,请尝试使用
请求。getParameter(..)


Abdelhak的另一个答案是正确的,但我想补充一些解释。 在第一个jsp中:

<c:import url="child.jsp">
   <c:param name="foo" value="bar"/>
</c:import>  

同:

<c:import url="child.jsp?foo=bar"/>  

foo位于查询字符串中

在您的child.jsp中:
您应该获取参数而不是属性,因为foo根本不存储在请求范围中。
改用这个:
request.getParameter(“foo”)

<c:import url="child.jsp?foo=bar"/>