【发布时间】:2015-10-01 08:33:52
【问题描述】:
我们已将 tomcat 从版本 tomcat-5.5.15 迁移到 tomcat-7.0.62。
以下代码适用于旧版本的 tomcat,即tomcat-5.5.15
<%!
private final String
barredUserTextId = "lightBlue",
barredUserTextClass = "smalli";
%>
<summary:table summary='userlist' rowTextId='<%= "black,${userStatusTextCode}==sd_user_status_barred?"+barredUserTextId %>' rowTextClass='<%= "small,${userStatusTextCode}==sd_user_status_barred?"+barredUserTextClass%>'>
但相同的代码不适用于新版本的 tomcat。
与tomcat的新版本(tomcat-7.0.62)有问题的部分代码是
rowTextId='<%= "black,${userStatusTextCode}==sd_user_status_barred?"+barredUserTextId %>'
rowTextClass='<%= "small,${userStatusTextCode}==sd_user_status_barred?"+barredUserTextClass%>'
上面的代码行不适合我。
我尝试像下面这样更改它,但没有一个对我有用。
<summary:table summary='userlist' rowTextId="<%= {userStatusTextCode} eq \"sd_user_status_barred\" ? \"lightBlue\" : \"black\" %>" rowTextClass="${userStatusTextCode eq \"sd_user_status_barred\" ? \"smalli\" : \"small\" }">
<summary:table summary='userlist' rowTextId='<%= ${userStatusTextCode} == "sd_user_status_barred" ? "black" : "lightBlue" %>' rowTextClass='<%= ${userStatusTextCode} == "sd_user_status_barred" ? "smalli" : "small" %>'>
<summary:table summary='userlist' rowTextId="<%= ${(userStatusTextCode == 'sd_user_status_barred') ? \"black\" : \"lightBlue\" %>" rowTextClass="<%= ${(userStatusTextCode} == 'sd_user_status_barred') ? \"smalli\" : \"small\" %>" >
<summary:table summary='userlist' rowTextId="${(userStatusTextCode == 'sd_user_status_barred') ? \"black\" : \"lightBlue\" }" rowTextClass="${(userStatusTextCode == 'sd_user_status_barred') ? \"smalli\" : \"small\" }" >
<summary:table summary='userlist' rowTextId="${(userStatusTextCode == 'sd_user_status_barred') ? 'lightBlue' : 'black' }" rowTextClass="${(userStatusTextCode == 'sd_user_status_barred') ? 'smalli' : 'small' }" >
我已经参考了一些链接并尝试过
这里是参考链接
How to write if else condition using ternary operator in jstl
http://www.javabeat.net/ternary-operator-in-jsp-2-0-expression-languageel/
如何正确编写表达式以便它可以与 tomcat 7 一起使用。
【问题讨论】:
-
您在控制台中遇到的异常或错误是什么?
-
从来没有打算那样工作。该应用程序显然依赖于一个不起眼的 Tomcat 5.x 错误。摆脱
<%=和%>并单独使用${ ... }重试。此外,您是否注意到您找到的答案中没有一个示例包含<%= ... %>? -
@BalusC : 我会尽力让你知道...
-
@sᴜʀᴇsʜᴀᴛᴛᴀ :它没有抛出任何异常......但是它没有应用于表格行的css......
-
@BalusC : 我将部分修改为 rowTextId="${(userStatusTextCode == 'sd_user_status_barred') ? \"lightBlue\" : \"black\" }" rowTextClass="${(userStatusTextCode == 'sd_user_status_barred') ? \"smalli\" : \"small\" }" ....但是行的 css 仍然是黑色的...