在一个jsp中设置变量的值,并在另一个jsp中检索

在一个jsp中设置变量的值,并在另一个jsp中检索,jsp,jstl,jspinclude,Jsp,Jstl,Jspinclude,在jsp A中,我有以下语句: <c:set var="prefix" value="fe" /> 在jsp A中包括jsp B,然后在B中包括: 警报(${prefix}) 我得到:'fe'在未定义的 如何在jsp B中获取变量前缀的值?您可以设置要请求的变量范围: <c:set var="prefix" value="fe" scope="request"/> 另外,请确保使用的是include指令,而不是include标准操作。该指令发生在转换时,因此包

在jsp A中,我有以下语句:

<c:set var="prefix" value="fe" />

在jsp A中包括jsp B,然后在B中包括:
警报(${prefix})

我得到:
'fe'在未定义的

如何在jsp B中获取变量前缀的值?

您可以设置要请求的变量范围:

<c:set var="prefix" value="fe" scope="request"/>

另外,请确保使用的是include指令,而不是include标准操作。该指令发生在转换时,因此包含文件中定义的变量可用于包含文件,但包含标准操作实际上在运行时插入包含文件中的响应,因此无法访问包含文件中设置的变量。简单地说,使用这个:

<%@include file="myinclude.jsp" %>

与此相反:

<jsp:include page="myinclude.jsp" />

您可以设置要请求的变量范围:

<c:set var="prefix" value="fe" scope="request"/>

另外,请确保使用的是include指令,而不是include标准操作。该指令发生在转换时,因此包含文件中定义的变量可用于包含文件,但包含标准操作实际上在运行时插入包含文件中的响应,因此无法访问包含文件中设置的变量。简单地说,使用这个:

<%@include file="myinclude.jsp" %>

与此相反:

<jsp:include page="myinclude.jsp" />


可能,当呈现jsp时,
警报(${perfix})
被计算为
警报(fe)
。您得到的错误是javascript错误,因为您的代码中可能没有定义为
fe

您可能要做的是将其更改为

<c:set var="prefix" value="'fe'" />


因此,它在Javascript中被计算为字符串。

可能,当呈现jsp时,
警报(${perfix})
被计算为
警报(fe)
。您得到的错误是javascript错误,因为您的代码中可能没有定义为
fe

您可能要做的是将其更改为

<c:set var="prefix" value="'fe'" />


因此,它在Javascript中被计算为字符串。

谢谢。但是“请求”是默认范围…不是吗?另外,添加scope='request'没有帮助nope,页面是默认的:请参阅。如果它说:'prefix'未定义,我会理解的。但它怎么能说‘fe’是未定义的呢?你觉得怎么样,老兄?指令帮我解决了这个问题。我有这个问题,谢谢。但是“请求”是默认范围…不是吗?另外,添加scope='request'没有帮助nope,页面是默认的:请参阅。如果它说:'prefix'未定义,我会理解的。但它怎么能说‘fe’是未定义的呢?你觉得怎么样,老兄?指令帮我解决了这个问题。我遇到了这个问题。
'fe'是否未定义
发生在警报对话框中?是否
'fe'未定义
发生在警报对话框中?