一些简单的JSTL逻辑错误

时间:2014-10-07 10:52:29

标签: jsp jstl

这是我在尝试运行代码时遇到的错误。

org.apache.el.parser.ParseException: Encountered " "?" "? "" at line 2, column 9.
Was expecting one of:
    "}" ...
    "." ...
    "(" ...
    "[" ...

Under是我试图使用的代码,但似乎逻辑关闭?第一次使用JSTL所以指向如何这样的指针会很好:) betalingstatus是" d"中的布尔变量。

${d.betalingstatus
    ? <td align="center">Betaling mottatt</td>
    : <td><button type="submit" name="betaling" value="${d.mobilnummer}">Registrer betaling</button></td>}

3 个答案:

答案 0 :(得分:1)

有两个问题。

1)三元运算符内的字符串必须用撇号包围,但

2)你不能在三元运算符中连接字符串。

作为个人对可读性的偏好,我还会在条件中包含==。

所以我会这样做:

<c:set var="tButtonString" value="<td><button type=\"submit\" name=\"betaling\" value=\"${d.mobilnummer}\">Registrer betaling</button></td>"/>
${d.betalingstatus == true ? '<td align="center">Betaling mottatt</td>' : tButtonString}

答案 1 :(得分:0)

试试这个:

${d.betalingstatus
? '<td align="center">Betaling mottatt</td>'
    : '<td><button type="submit" name="betaling" value="'+${d.mobilnummer}+'">Registrer betaling</button></td>'}

答案 2 :(得分:0)

试试这个:

${d.betalingstatus ? '<td align=\"center\">Betaling mottatt</td>':  
'<td><button type=\"submit\" name=\"betaling\" value=\"'+d.mobilnummer+'\">
Registrer betaling</button></td>'}
相关问题