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

时间:2013-03-22 16:01:51

标签: jsp jstl jspinclude

在jsp A中,我有这样的陈述:

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

在jsp A中,我包含jsp B,然后在B中,我执行:
警报($ {前缀});

我得到:'fe' in undefined 如何在jsp B中获取变量前缀的值?

2 个答案:

答案 0 :(得分:4)

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

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

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

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

而不是:

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

答案 1 :(得分:1)

可能,在呈现jsp时,alert(${perfix})会被评估为alert(fe)。您收到的错误是javascript错误,因为您的代码中可能没有定义为fe

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

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

因此它在Javascript中被评估为String。