这是数据库的一张表
里面的“DetectID”是存的字符串类型,现在在jsp页面上读取出来想把数字换成名称,所以运用三元运算符写了
“<%=ato.getDetectID()=="0"?"管理员":ato.getDetectID()=="1"?"AIS,":
ato.getDetectID()=="2"?"雷达应答器,":ato.getDetectID()=="3"?"示位标,":”(部分代码)然而在网页运行时呈现
能帮忙看看我代码哪里出了问题吗?
或者不用三元运算符,还有没有其他的办法能把读取到的数字转换成文字?
个人比较喜欢用js前端处理,给个示例给你参考 td用role自定义属性存储detectID值
<td role="<%=ato.getDetectID()%>"></td>
然后脚本放最后初始化数字对应的权限名称
<script>
var kvRole = { 0: '管理员', 1: 'AIS', 2: '雷达应答器', 3: '示位标'/*更加多数字对应的权限键值对*/ }
function getRoleStr(v) {
var s = '';
var arr = v.split(',');
for (var i = 0; i < arr.length; i++) s += ',' + kvRole[arr[i]];
return s.substring(1);
}
var roles = document.querySelectorAll('td[role]');//获取所有权限td
for (var i = 0; i < roles.length; i++) roles[i].innerHTML = getRoleStr(roles[i].getAttribute('role'));
</script>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
太惨了。
/c:when
/c:when
什么都没有。
/c:otherwise
/c:choose
忽略上面。被CSDN转义了。
<c:choose>
<c:when test="${salary <= 0}">
太惨了。
</c:when>
<c:when test="${salary > 1000}">
不错的薪水,还能生活。
</c:when>
<c:otherwise>
什么都没有。
</c:otherwise>
</c:choose>
ato.getDetectID().indexOf("1")
ato.getDetectID().indexOf("2")
ato.getDetectID().indexOf("3")
就像你上面写的是JAVA脚本,字符串比较不能用==,应该用Stirng.equals()来比较;尽量用多学一些JSP的JSTL标签库。