2013-03-22 93 views
0

在JSP中检索,我有这样的说法:设置FO一个变量的值在一个JSP和另一个JSP

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

在JSP中,我包括JSP B,然后在B,我做的:
警报($ {prefix});

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

+0

在警报对话框中是否出现'fe'未定义? – 2013-03-22 21:32:38

回答

1

也许,当JSP呈现,alert(${perfix})被评估为alert(fe)。你得到的错误是一个javascript错误,因为你的代码中可能没有定义为fe

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

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

所以,它的评价为在Javascript中的字符串。

4

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

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

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

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

,而不是这样的:

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

谢谢。但'请求'是默认范围...不是?另外添加scope ='request'并没有帮助 – Victor 2013-03-22 16:08:42

+0

Nope,页面是默认值:请参阅http://www.tutorialspoint.com/jsp/jstl_core_set_tag.htm。 – clav 2013-03-22 16:15:31

+0

如果它说:'前缀'是未定义的,我会理解。但是它怎么说:'fe'是不确定的?你认为男人是什么? – Victor 2013-03-22 16:20:38

相关问题