Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.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
Jsp “的法律EL语法是什么?”${param.mode${cntr}}";_Jsp_Jstl_El - Fatal编程技术网

Jsp “的法律EL语法是什么?”${param.mode${cntr}}";

Jsp “的法律EL语法是什么?”${param.mode${cntr}}";,jsp,jstl,el,Jsp,Jstl,El,我在写这个: <c:forEach var="cntr" begin="1" end="10"> <c:set var="mycase" value="${param.mode${cntr}}" /> <c:if test="${mycase != null}"> <c:param name="mode${cntr}" value="${mycase}"/> </c:if> </c:forEach> 感谢您的

我在写这个:

<c:forEach var="cntr" begin="1" end="10">
 <c:set var="mycase" value="${param.mode${cntr}}" />
 <c:if test="${mycase != null}">
   <c:param name="mode${cntr}" value="${mycase}"/>
  </c:if>
</c:forEach>

感谢您的帮助。

您必须使用
模式${cntr}
设置另一个变量,并使用大括号表示法获取相关值,您可以在其中传递动态键

<c:forEach var="cntr" begin="1" end="10">
    <c:set var="mode" value="mode${cntr}" />
    <c:set var="mycase" value="${param[mode]}" />
    <c:if test="${mycase != null}">
        <c:param name="mode${cntr}" value="${mycase}"/>
    </c:if>
</c:forEach>

您必须使用
模式${cntr}
设置另一个变量,并使用大括号表示法获取相关值,其中可以传递动态键

<c:forEach var="cntr" begin="1" end="10">
    <c:set var="mode" value="mode${cntr}" />
    <c:set var="mycase" value="${param[mode]}" />
    <c:if test="${mycase != null}">
        <c:param name="mode${cntr}" value="${mycase}"/>
    </c:if>
</c:forEach>


这在Tomcat6上不起作用${param['mode1']}确实有效,但变量版本无效。它应该有效。然而,我不确定
是否吃了它。试着把它放在外面。你到底需要它做什么?您的
web.xml
声明的servlet版本是什么?任务是设置一个重定向器,该重定向器可以翻译一些参数,并不受干扰地传递其他参数。因此,URL xxx.org:8080/?mode1=yes&mode2=no&mode6=可能会被篡改为“如果mode1=yes,那么mode1=yes,按原样传递所有其他内容,并通过重定向传递为xxx.org:8080/bob.jsp?mode1=yes&mode2=no&mode6=maybeI创建了一个本地测试用例,其中我将
替换为
${mycase}”
来打印它,它可以在web.xml设置为Servlet 2.5的Tomcat 6和web.xml设置为Servlet 3.0的Tomcat 7上正常工作。在这两种情况下,我都使用JSTL1.2。但是,我将用
${notempty mycase}
替换
${mycase!=null}
,以跳过空字符串。@BalusC-Works!谢谢你把我从另一次语法地狱之旅中解救出来。这在Tomcat6上不起作用${param['mode1']}确实有效,但变量版本无效。它应该有效。然而,我不确定
是否吃了它。试着把它放在外面。你到底需要它做什么?您的
web.xml
声明的servlet版本是什么?任务是设置一个重定向器,该重定向器可以翻译一些参数,并不受干扰地传递其他参数。因此,URL xxx.org:8080/?mode1=yes&mode2=no&mode6=可能会被篡改为“如果mode1=yes,那么mode1=yes,按原样传递所有其他内容,并通过重定向传递为xxx.org:8080/bob.jsp?mode1=yes&mode2=no&mode6=maybeI创建了一个本地测试用例,其中我将
替换为
${mycase}”
来打印它,它可以在web.xml设置为Servlet 2.5的Tomcat 6和web.xml设置为Servlet 3.0的Tomcat 7上正常工作。在这两种情况下,我都使用JSTL1.2。但是,我将用
${notempty mycase}
替换
${mycase!=null}
,以跳过空字符串。@BalusC-Works!谢谢你把我从另一次地狱之旅中解救出来。