【发布时间】:2011-04-19 00:55:24
【问题描述】:
我有一个使用嵌套标记的旧版 Struts 1 应用程序。我可以在嵌套标签中注入动态参数吗?例如,
<nested:select disabled="<c:out value='${requestScope.disableSelectBox}' />" />
我也试过这样做:
<nested:select disabled="${requestScope.disableSelectBox}" />
在上面的两个例子中,disabled 属性都没有被正确设置并且被忽略了。如果我用 c:out 打印出该值,则会显示正确的 disableSelectBox 值:
<c:out value="${requestScope.disableSelectBox}" />
一位同事建议我应该使用:
<nested:select disabled="<%=request.getAttribute("disableSelectBox"); %>" />
问题在于,在 JSP 页面中使用 java scriplets 被认为是不好的做法。有没有办法将动态变量嵌入到 Struts 1 嵌套标签中?切换到 Struts 2 不是一种选择。
谢谢!
【问题讨论】:
-
我不使用 Struts,所以我可能错了,但如果该 scriptlet 解决方案有效,那么如果您至少使用 JSP 2.0(即web.xml 声明至少符合 Servlet 2.4 版,并且您在 Servlet 2.4 兼容的服务器上运行 webapp。