在使用了 Django 模板语言之后,我真的很怀念能够做这样的事情:
{% if condition %}
<!-- snip -->
{% else %}
<!-- snip -->
{% endif %}
当我使用 JSP 时,我被困在做这样的事情:
<logic:equal name="something" value="example">
<!-- snip -->
</logic:equal>
<logic:notEqual name="something" value="example">
<!-- snip -->
</logic:notEqual>
或:
<% if (condition) { %>
<!-- snip -->
<% } else { %>
<!-- snip -->
<% } %>
是否可以编写支持 else
和 else if
的自定义标签,而不是简单地为每个检查设置一对标签?
如果不可能,“首选”样式是什么?小脚本还是多标签对?在我的组织中,大多数人似乎都不喜欢 scriptlet,但我还没有真正听到一个很好的理由说明为什么我列出的简单条件语句如此糟糕。
最佳答案
XML 中的标签成对出现,一个打开一个关闭。 if then else 结尾的三个元素不适合打开和关闭格式。唯一的另一种方法是使用选择标签,如下所示:
<c:choose>
<c:when test="${bean.value == 2}">
<p>True</p>
</c:when>
<c:otherwise>
<p>False</p>
</c:otherwise>
</c:choose>
这是在 jSTL 中编写 if then else 结构的常用方法。
关于java - JSP 自定义标签 : Is it possible to have a more than start/close tags?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/948033/