Spring 无法访问包含的JSP中的变量
我在应用程序中使用Spring2.5。在视图中,我有一个主jsp,其中包含了另一个jsp。我在主jsp中使用c:set标记声明了一个变量,我无法在jsp中访问该变量。下面是代码 main.jspSpring 无法访问包含的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
变量是相等的
变量不相等
为什么在主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>