{moslate}

<table border="1">
<tr><th colspan="3">logic-el</th></tr>
<tr><th>name</th><th>output</th><th>code</th></tr>

<tr><td>c:set<br/>
<i>var(default:temp), value(EL)</i><br/>
<br/>
comparison
</td>
<td>
{c:set var="a" value="20"/}
{c:set var="b" value="${a+5}"/}
{c:set var="c" value="${a+b/2}"/}
a: {c:out value="${a}"/}<br/>
b: {c:out value="${b}"/}<br/>
c: {c:out value="${c}"/}<br/>
a &gt; b: {c:out value="${a > b}"/}<br/>
c le b: {c:out value="${c le b}"/}<br/>
c &lt; b &amp;&amp; a &lt; c: {c:out value="${c < b && a < c}"/}<br/>
</td>
<td>
{htmltext}
{c:set var="a" value="20"/}
{c:set var="b" value="${a+5}"/}
{c:set var="c" value="${a+b/2}"/}
a: {c:out value="${a}"/}<br/>
b: {c:out value="${b}"/}<br/>
c: {c:out value="${c}"/}<br/>
a &gt; b: {c:out value="${a > b}"/}<br/>
c le b: {c:out value="${c le b}"/}<br/>
c &lt; b &amp;&amp; a &lt; c: {c:out value="${c < b && a < c}"/}<br/>
{/htmltext}
</td>
</tr>

<tr><td>EL:empty<br/>
<i>empty ...</i>
</td>
<td>
{c:set var="s1" value="abc"/}
{c:set var="s2" value=""/}
s1: {c:out value="${s1}"/}<br/>
s2: {c:out value="${s2}"/}<br/>
s3: {c:out value="${s3}"/}<br/>
empty s1: {c:out value="${empty s1}"/}<br/>
empty s2: {c:out value="${empty s2}"/}<br/>
empty s3: {c:out value="${empty s3}"/}<br/>
empty null: {c:out value="${empty null}"/}<br/>
empty 'x': {c:out value="${empty 'x'}"/}<br/>
</td>
<td>
{htmltext}
{c:set var="s1" value="abc"/}
{c:set var="s2" value=""/}
s1: {c:out value="${s1}"/}<br/>
s2: {c:out value="${s2}"/}<br/>
s3: {c:out value="${s3}"/}<br/>
empty s1: {c:out value="${empty s1}"/}<br/>
empty s2: {c:out value="${empty s2}"/}<br/>
empty s3: {c:out value="${empty s3}"/}<br/>
empty null: {c:out value="${empty null}"/}<br/>
empty 'x': {c:out value="${empty 'x'}"/}<br/>
{/htmltext}
</td>
</tr>

<tr><td>fn:split<br/>
<i>string, separator</i><br/>
<br/>
fn:join<br/>
<i>string, separator</i>
</td>
<td>
{c:set var="str1" value="item1,item2,item3,item4,item5"/}
{c:set var="list1" value="${fn:split(str1,',')}"/}
<table border="1">
<tr><th colspan="2">{c:out value="${str1}"/}</th></tr>
{c:forEach items="${list1}" var="item"}
<tr><td>{c:out value="${item.key}"/}</td>
<td>{c:out value="${item.value}"/}</td></tr>
{/c:forEach}
</table>
joined:{c:out value="${fn:join(list1,' * ')}"/}
</td>
<td>
{htmltext}
{c:set var="str1" value="item1,item2,item3,item4,item5"/}
{c:set var="list1" value="${fn:split(str1,',')}"/}
<table border="1">
<tr><th colspan="2">{c:out value="${str1}"/}</th></tr>
{c:forEach items="${list1}" var="item"}
<tr><td>{c:out value="${item.key}"/}</td>
<td>{c:out value="${item.value}"/}</td></tr>
{/c:forEach}
</table>
joined:{c:out value="${fn:join(list1,' * ')}"/}
{/htmltext}
</td>
</tr>


<tr><td>c:if<br/>
<i>test(EL)</i><br/>
</td>
<td>
<table border="1">
<tr><th colspan="2">{c:out value="${str1}"/}</th></tr>
{c:forEach items="${list1}" var="item"}
{c:set var="style" value=""/}
{c:if test="${(item.key mod 2) == 0}"}
{c:set var="style" value="font-weight:bold;"/}
{/c:if}
<tr><td>{c:out value="${item.key}"/}</td>
<td style="{c:out value="${style}"/}">{c:out value="${item.value}"/}</td></tr>
{/c:forEach}
</table>
</td>
<td>
{htmltext}
<table border="1">
<tr><th colspan="2">{c:out value="${str1}"/}</th></tr>
{c:forEach items="${list1}" var="item"}
{c:set var="style" value=""/}
{c:if test="${(item.key mod 2) == 0}"}
{c:set var="style" value="font-weight:bold;"/}
{/c:if}
<tr><td>{c:out value="${item.key}"/}</td>
<td style="{c:out value="${style}"/}">{c:out value="${item.value}"/}</td></tr>
{/c:forEach}
</table>
{/htmltext}
</td>
</tr>


<tr><td>c:choose<br/>
<br/>
c:when<br/>
<i>test(EL)</i><br/>
<br/>
c:otherwise<br/>
</td>
<td>
<table border="1">
<tr><th colspan="2">{c:out value="${str1}"/}</th></tr>
{c:forEach items="${list1}" var="item"}
{c:choose}
{c:when test="${(item.key mod 3) == 0}"}
{c:set var="style" value="font-weight:bold;"/}
{/c:when}
{c:when test="${(item.key mod 3) == 1}"}
{c:set var="style" value="font-style:italic;"/}
{/c:when}
{c:otherwise}
{c:set var="style" value="text-decoration:underline;"/}
{/c:otherwise}
{/c:choose}
<tr><td>{c:out value="${item.key}"/}</td>
<td style="{c:out value="${style}"/}">{c:out value="${item.value}"/}</td></tr>
{/c:forEach}
</table>
</td>
<td>
{htmltext}
<table border="1">
<tr><th colspan="2">{c:out value="${str1}"/}</th></tr>
{c:forEach items="${list1}" var="item"}
{c:choose}
{c:when test="${(item.key mod 3) == 0}"}
{c:set var="style" value="font-weight:bold;"/}
{/c:when}
{c:when test="${(item.key mod 3) == 1}"}
{c:set var="style" value="font-style:italic;"/}
{/c:when}
{c:otherwise}
{c:set var="style" value="text-decoration:underline;"/}
{/c:otherwise}
{/c:choose}
<tr><td>{c:out value="${item.key}"/}</td>
<td style="{c:out value="${style}"/}">{c:out value="${item.value}"/}</td></tr>
{/c:forEach}
</table>
{/htmltext}
</td>
</tr>

</table>

{/moslate}