Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/359.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
Java 带动态参数的Struts嵌套标记_Java_Jsp_Struts_Struts 1 - Fatal编程技术网

Java 带动态参数的Struts嵌套标记

Java 带动态参数的Struts嵌套标记,java,jsp,struts,struts-1,Java,Jsp,Struts,Struts 1,我有一个使用嵌套标记的传统Struts 1应用程序。我可以在嵌套标记中插入动态参数吗?比如说, <nested:select disabled="<c:out value='${requestScope.disableSelectBox}' />" /> 我还试着做: <nested:select disabled="${requestScope.disableSelectBox}" /> 在上述两个示例中,禁用属性未正确设置,因此被忽略。如果我用

我有一个使用嵌套标记的传统Struts 1应用程序。我可以在嵌套标记中插入动态参数吗?比如说,

<nested:select disabled="<c:out value='${requestScope.disableSelectBox}' />" />

我还试着做:

<nested:select disabled="${requestScope.disableSelectBox}" />

在上述两个示例中,禁用属性未正确设置,因此被忽略。如果我用c:out打印出值,则会显示disableSelectBox的正确值:

<c:out value="${requestScope.disableSelectBox}" />

一位同事建议我使用:

<nested:select disabled="<%=request.getAttribute("disableSelectBox"); %>" />

问题在于,在JSP页面中使用java scriplets被认为是不好的做法。有没有办法将动态变量嵌入Struts 1嵌套标记中?切换到Struts 2不是一个选项

谢谢

Struts 1(据我记忆所及)不允许您执行以下操作:

<nested:select disabled="<c:out value='${requestScope.disableSelectBox}' />" />


将呈现为(如果结果返回true)



在发送给Struts以呈现嵌套标记之前(很抱歉使用了“render”一词,如果您愿意,可以使用translate)。

我不使用Struts,所以我可能是错的,但是如果scriptlet解决方案有效,那么如果您至少使用了JSP 2.0,那么选项2在理论上也应该有效(即web.xml声明至少符合Servlet版本2.4,并且您正在Servlet 2.4兼容服务器上运行webapp)。
<nested:select disabled="${requestScope.disableSelectBox}" />
<nested:select disabled="<%=request.getAttribute("disableSelectBox"); %>" />
<nested:select disabled="true" />