2014-10-07 77 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}