在JSP中检索,我有这样的说法:设置FO一个变量的值在一个JSP和另一个JSP
<c:set var="prefix" value="fe" />
在JSP中,我包括JSP B,然后在B,我做的:
警报($ {prefix});
我得到:'fe' in undefined
如何在jsp B中获得变量前缀的值?
在JSP中检索,我有这样的说法:设置FO一个变量的值在一个JSP和另一个JSP
<c:set var="prefix" value="fe" />
在JSP中,我包括JSP B,然后在B,我做的:
警报($ {prefix});
我得到:'fe' in undefined
如何在jsp B中获得变量前缀的值?
也许,当JSP呈现,alert(${perfix})
被评估为alert(fe)
。你得到的错误是一个javascript错误,因为你的代码中可能没有定义为fe
。
你可能想要做的是将其更改为
<c:set var="prefix" value="'fe'" />
所以,它的评价为在Javascript中的字符串。
可以设置变量的范围要求:
<c:set var="prefix" value="fe" scope="request"/>
此外,请确保您使用include指令,而不是包括标准动作。该指令发生在翻译时,因此包含文件中定义的变量可用于包含文件,但include标准操作实际上是在运行时插入包含文件的响应,因此无法访问包含文件中设置的变量。简单地说用这个:
<%@include file="myinclude.jsp" %>
,而不是这样的:
<jsp:include page="myinclude.jsp" />
在警报对话框中是否出现'fe'未定义? – 2013-03-22 21:32:38