我觉得这是一个微不足道的问题,但出于某种原因,我无法解决它。 我想在'代码'中访问c:import param作为变量。我的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();
%>
始终抛出异常,换句话说,这不是访问参数的正确方法。
请告诉我应该怎么做?
答案 0 :(得分:1)
要显示参数的值,请尝试使用request.getParameter(..)
:
if( null == request.getParameter("foo"))
答案 1 :(得分:0)
Abdelhak的另一个答案是正确的,但我想补充一些解释。 在你的第一个jsp:
<c:import url="child.jsp">
<c:param name="foo" value="bar"/>
</c:import>
与:
相同<c:import url="child.jsp?foo=bar"/>
foo 位于查询字符串中。
在你的孩子里.jsp:
您应该获取参数而不是属性,因为 foo 根本不存储在请求范围内
请改用它:
request.getParameter("foo");