相关疑难解决方法(0)

比较表达式语言中的字符串和布尔值

我有这种行为我真的不明白

${someVar}
${someVar.class.name}      
${someVar == 'error'}
Run Code Online (Sandbox Code Playgroud)

输出

false
java.lang.Boolean
true
Run Code Online (Sandbox Code Playgroud)
  1. 怎么可以解开?
  2. 编写测试的正确方法是什么,以便首先测试两个"事物"是否具有相同类型,然后它们的值是否相同?

java jsp weblogic el

9
推荐指数
2
解决办法
1万
查看次数

使用c:foreach(JSP/JSTL)迭代ArrayList,Variable不起作用

我知道,我的问题有无数的例子,但是我经历了很多,无法弄清楚我的错误在哪里.

我正在迭代一个ArrayList(TestSzenario).TestSzenario类包含一个名为name的String Variable,带有正确的getter和setter.

这是我的代码:

<td><select name="selectSzenario" id="selectSzenario" size="1">
                <c:forEach items="<%=testszenario.getSzenariosForSummary() %>" var="szenario"> 
                    <option>${szenario.name}</option>
                </c:forEach></select></td></tr>
Run Code Online (Sandbox Code Playgroud)

我的问题是,变量不起作用.对于选择框中的每个选项,我都得到$ {szenario.name}.我正确地声明了JSTL-taglib,因为在完成后网站中有多个选项,我知道迭代正在运行.我还在HTML源代码中查看了foreach的解决方法.

HTML的输出:

        <tr><td>Szenario:</td>
        <td><select name="selectSzenario" id="selectSzenario" size="1">

                    <option>${szenario.name}</option>

                    <option>${szenario.name}</option>
                </select></td></tr>
Run Code Online (Sandbox Code Playgroud)

编辑回答1:谢谢,但我之前尝试过:

ArrayList<TestSzenario> szenarioList = testszenario.getSzenariosForSummary();
request.setAttribute("aList", szenarioList);
request.setAttribute("ts", testszenario);

<c:forEach items="${aList}" var="szenario">
<option>${szenario.name}</option>
</c:forEach></select></td></tr>

<c:forEach items="${ts.szenariosForSummary}" var="szenario">
<option>${szenario.name}</option>
</c:forEach></select></td></tr>
Run Code Online (Sandbox Code Playgroud)

但在任何一种情况下,它甚至都不会遍历List,导致只有1个选项(List包含2个元素).

foreach jsp loops jstl arraylist

3
推荐指数
1
解决办法
2万
查看次数

标签 统计

jsp ×2

arraylist ×1

el ×1

foreach ×1

java ×1

jstl ×1

loops ×1

weblogic ×1