我正在处理一个缺陷,默认情况下,如果使用多个通道,则需要选中所有复选框。但是,目前在多个频道选择的情况下,仅选择第一个频道复选框
JSTL代码是
<label data-use-main="#"
class="left-align form-inline checkbox ${fn:length(messageForm.configuredChannels) > 1 ? '' : 'hidden'}">
<form:checkbox path="emailMessageForm.useMainMessageEmail" />
<label>
<spring:message code="message.use.main.content.email"></spring:message>
</label>
</label>
我无法理解${fn:length(messageForm.configuredChannels) > 1 ? '' : 'hidden'}">
如何工作,因为复选框检查条件取决于它。
答案 0 :(得分:2)
messageForm.configuredChannels
是一个集合,fn:length()
函数正在检查集合是否包含多个元素。如果集合包含多个元素,则显示包含复选框的label
,如果不包含,则通过添加css类隐藏它。
让我们打破表达:
${fn:length(messageForm.configuredChannels) > 1 ? '' : 'hidden'}"
1. ${}
This just denotes a JSP EL expression
2. fn:length(messageForm.configuredChannels) > 1 ? '' : 'hidden'
This is a ternary operator
3. fn:length(messageForm.configuredChannels)
Returns amount of elements in collection