Abdelhak的另一个答案是正确的,但我想补充一些解释。在您的第一个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 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();
%>
总是抛出异常,换句话说,这不是访问参数的正确方式。
请告诉我应该怎么做?
要显示参数的值,请尝试使用request.getParameter(..)
:
if( null == request.getParameter("foo"))
<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");