【发布时间】:2018-03-06 22:05:01
【问题描述】:
我正在尝试重用已在 jsp 中设置并在 Stripes 布局渲染中使用的变量。
主页:/index.jsp
布局渲染页面:/jsp/widgets/signin/oAuthUrl.jsp
我的 /jsp/widgets/signin/oAuthUrl.jsp 有一个名为 ${oauth_url} 的 c:set 变量。但是当我通过 s:layout-render name="/jsp/widgets/signin/oAuthUrl.jsp" 调用布局渲染页面时,我希望能够使用其中的任何变量在那里,就好像我包含了那个脚本一样。但我不能在 index.jsp 中使用 ${oauth_url}。
我什至尝试过这样做,不出所料地不起作用:
<c:set var="oauth_url" value="<s:layout-render name="/jsp/widgets/signin/oAuthUrl.jsp"
buttonType="signup"/>"/>
<s:link href="${oauth_url}">
如何重用在 /jsp/widgets/signin/oAuthUrl.jsp 中设置的变量?基本上,我怎样才能使它成为 index.jsp 页面的全局,以便它可以在其他地方使用?
如果我只想使用 /jsp/widgets/signin/oAuthUrl.jsp 中声明的 c:set 值,我应该使用不同的标签而不是 s:layout-render 导入吗?我仍然想给它传递一些属性——比如 buttonType。
【问题讨论】:
-
不确定您到底想做什么,但您是否尝试将
scope="request"添加到<c:set ... />标记? -
我要做的就是使用 index.jsp 中的一个变量,该变量是在我的 /jsp/widgets/signin/oAuthUrl.jsp 文件中使用 c:set 标记设置的。似乎我在布局渲染中调用的文件中设置的任何内容在全局范围内都不可用。我会试试你的建议。
-
@acdhirr 看起来有效!回答以下问题,以便我标记为已解决。