JSP表达式标签三元运算符问题:邮件模板嵌入HTML标签失效求助
解决方案
问题出在你把HTML标签直接写在了JSP表达式的Java代码里,JSP会把<span>这类内容当成Java语法解析,自然会报错。你需要把带HTML的内容包装成字符串,同时正确拼接变量,修正后的代码如下:
<%= data.unitNumber != null && !data.unitNumber.trim().isEmpty() ? "<span>Unit Number: " + data.unitNumber + "</span>" : " " %>
关键说明:
- 先做非空判断:
data.unitNumber != null && !data.unitNumber.trim().isEmpty()能避免空指针异常,也能过滤掉空字符串的无效输出 - 把HTML标签和文本用双引号包裹成字符串,再用
+拼接变量data.unitNumber,这样JSP才能正确解析并输出对应的HTML内容 - JSP表达式遵循Java语法规则,不能直接裸写HTML标签,必须把HTML内容转成合法的字符串表达式
内容的提问来源于stack exchange,提问作者arod1207
相关产品推荐
相关产品推荐

