我想在EL(表达式语言)中连接三元运算符中的字符串.
假设有一个名为value的变量.如果它是空的,我想使用一些默认文本.否则,我需要附加一些静态文本.
${(empty value)? "none" : value + " enabled"}
Run Code Online (Sandbox Code Playgroud)
但是这不会编译.写这个的正确方法是什么?或者这甚至可能吗?
如何将promoPrice变量作为字符串的一部分打印ONLY $4.67?
<c:set var="promoPrice" value="4.67" />
<p>${(promoPrice != null) ? "ONLY $${promoPrice}" : "FREE"}</p>
Run Code Online (Sandbox Code Playgroud) 我有一个bean列表,每个bean都有一个属性,它本身就是一个电子邮件地址列表.
<c:forEach items="${upcomingSchedule}" var="conf">
<div class='scheduled' title="${conf.subject}" id="scheduled<c:out value="${conf.id}"/>">
...
</div>
</c:forEach>
Run Code Online (Sandbox Code Playgroud)
这会<div>在List中呈现每个bean 一个.
对于子列表,我希望能够做的是连接列表中的每个条目,形成一个String,被显示为一部分<div>的title属性.为什么?因为我们使用javascript库(mootools)将其<div>转换为浮动工具提示,并且库将title转换为工具提示的文本.
所以,如果${conf.subject}是"主题",最后我想要title的<div>是"主题:blah@blah.com,blah2@blah2.com等",包含所有子列表的电子邮件地址.
我怎么能用JSP EL做到这一点?我试图远离jsp文件中的scriptlet块.
<ui:repeat value="#{admin.detailTypesList}" var="detailType">
<h:outputText value="#{admin.getDetailTypeTranslation('ContactDetailType_'+detailType)}"/>
</ui:repeat>
Run Code Online (Sandbox Code Playgroud)
对于el表达:
#{admin.getDetailTypeTranslation('ContactDetailType_'+detailType)}
Run Code Online (Sandbox Code Playgroud)
传递给的参数getDetailTypeTranslation是'ContactDetailType_'(没有detailType值)
我究竟做错了什么?