我使用JSP来创建页面模板时遇到了以下教程 JSP tricks to make templating easier?(我怎么会错过这么久?!?).但是,在做了一些搜索之后,我似乎无法弄清楚如何(或者是否可能)检查是否已经设置
这是我正在尝试做的一个例子:
我有一个名为default.tag的模板.它有2个JSP属性,定义如下:
<%@attribute name="title" fragment="true" required="true" %> <%@attribute name="heading" fragment="true" %>
然后在页面的代码中,我有< title>页面的元素设置为< jsp:invoke fragment =“title”/>.然后在页面后面,我有以下内容:
<c:choose> <c:when test="${true}"> <jsp:invoke fragment="heading" /> </c:when> <c:otherwise> <jsp:invoke fragment="title" /> </c:otherwise> </c:choose>
我在哪里< c:当test =“${true}”>时,我希望能够检查是否已设置标题片段以显示它,但如果没有,则默认为标题片段.
在做了一些搞乱之后,我将回答我自己的问题.事实证明,赋予属性的名称实际上也变为变量.因此,我可以做到以下几点:<c:choose> <c:when test="${not empty heading}"> <jsp:invoke fragment="heading" /> </c:when> <c:otherwise> <jsp:invoke fragment="title" /> </c:otherwise> </c:choose>
这就是我需要做的一切.好像我只是想让它变得比它需要的更难!