Java JSP c:在代码范围中导入参数
我觉得这是一个微不足道的问题,但由于某种原因我无法解决它。 我希望将c:import参数作为JSP的“代码”中的变量而不是EL表达式来访问 从以下JSP: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
<%@ 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"/>