在jsp A中,我有这样的陈述:
<c:set var="prefix" value="fe" />
在jsp A中,我包含jsp B,然后在B中,我执行:
警报($ {前缀});
我得到:'fe' in undefined
如何在jsp B中获取变量前缀的值?
答案 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。