Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring 无法访问包含的JSP中的变量_Spring_Jsp_Jstl_El - Fatal编程技术网

Spring 无法访问包含的JSP中的变量

Spring 无法访问包含的JSP中的变量,spring,jsp,jstl,el,Spring,Jsp,Jstl,El,我在应用程序中使用Spring2.5。在视图中,我有一个主jsp,其中包含了另一个jsp。我在主jsp中使用c:set标记声明了一个变量,我无法在jsp中访问该变量。下面是代码 main.jsp 变量是相等的 变量不相等 为什么在主jsp上这两个值相等,而在包含的jsp中我看不到它的值 因为默认情况下,将它们存储在页面范围中 为什么currentStudy在包含的jsp中显示其值 因为它也可以作为会话属性使用 是否有任何解决方案可以帮助我访问父jsp中的变量集?可以在包含的jsp中访问an

我在应用程序中使用Spring2.5。在视图中,我有一个主jsp,其中包含了另一个jsp。我在主jsp中使用c:set标记声明了一个变量,我无法在jsp中访问该变量。下面是代码 main.jsp


变量是相等的
变量不相等
为什么在主jsp上这两个值相等,而在包含的jsp中我看不到它的值

因为默认情况下,
将它们存储在页面范围中


为什么currentStudy在包含的jsp中显示其值

因为它也可以作为会话属性使用


是否有任何解决方案可以帮助我访问父jsp中的变量集?可以在包含的jsp中访问ans

您需要将
范围
属性设置为
请求
或更高级别。(默认)
页面
范围仅对当前JSP公开,而不是对任何包含的JSP公开


请注意,该行

<c:set var="currentStudy" value='<%=(String)session.getAttribute("currentStudy")%>'/> 
然后它会按照你的预期工作

另见:
为什么在主jsp上这两个值相等,而在包含的jsp中我看不到它的值

因为默认情况下,
将它们存储在页面范围中


为什么currentStudy在包含的jsp中显示其值

因为它也可以作为会话属性使用


是否有任何解决方案可以帮助我访问父jsp中的变量集?可以在包含的jsp中访问ans

您需要将
范围
属性设置为
请求
或更高级别。(默认)
页面
范围仅对当前JSP公开,而不是对任何包含的JSP公开


请注意,该行

<c:set var="currentStudy" value='<%=(String)session.getAttribute("currentStudy")%>'/> 
然后它会按照你的预期工作

另见:

这工作非常有效!!谢谢然而,我用sitemesh扩展了相同的概念,但它不起作用。我有一个模板jsp,它正在装饰main.jsp(包括带有“”标记的主jsp)。在这里,我使用范围请求将变量从主jsp移动到模板jsp。它不起作用。所以,我在sitemesh模板中声明了相同的变量,以及主JSP,在这个问题上需要更多帮助。重新输入评论-我用sitemesh扩展了相同的概念,但它不起作用。我有一个模板jsp,它正在装饰main.jsp(包括带有
标记的主jsp)。在这里,我使用范围请求将变量从主jsp移动到模板jsp。它不起作用。所以我已经在sitemesh模板和主JSP中声明了相同的变量。这非常有效!!谢谢然而,我用sitemesh扩展了相同的概念,但它不起作用。我有一个模板jsp,它正在装饰main.jsp(包括带有“”标记的主jsp)。在这里,我使用范围请求将变量从主jsp移动到模板jsp。它不起作用。所以,我在sitemesh模板中声明了相同的变量,以及主JSP,在这个问题上需要更多帮助。重新输入评论-我用sitemesh扩展了相同的概念,但它不起作用。我有一个模板jsp,它正在装饰main.jsp(包括带有
标记的主jsp)。在这里,我使用范围请求将变量从主jsp移动到模板jsp。它不起作用。所以我在sitemesh模板和主jsp中声明了相同的变量
<c:set var="currentStudy" value='<%=(String)session.getAttribute("currentStudy")%>'/> 
<c:set var="hPediquestStudy" scope="request"><spring:message code="study.hpediquest.mapping" /></c:set>