2014-10-07 73 views
0

这是我在试图运行代码时碰到的错误。一些简单的JSTL逻辑错误

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

下是我试图使用的代码,但它似乎逻辑关闭?第一次使用JSTL这样一个指向如何这将是很好:) betalingstatus是一个布尔变量在“d”。

​​

回答

0

试试这个:

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

试试这个:

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