<jsp:attributes>是否被某种范围覆盖?</jsp:attributes>

时间:2013-07-04 20:41:10

标签: jsp jstl jsp-tags atg

我有一个页面容器,我想将pageTitle传递给

这不起作用:

    <dsp:getvalueof var="contentId" param="contentId" />
    <c:choose>
        <c:when test="${fn:contains(contentId, 'fol')}">
            <dsp:droplet name="FolderLookupDroplet">
                <dsp:param name="id" param="contentId" />
                <dsp:param name="elementName" value="folder" />
                <dsp:oparam name="output">
                    <dsp:getvalueof var="pageTitle" param="folder.name" />
                </dsp:oparam>
            </dsp:droplet>                  
        </c:when>
        <c:otherwise>
            <%-- Cover the default or empty scenario --%>
            <dsp:getvalueof var="pageTitle" value="Corporate Information" />
        </c:otherwise>
    </c:choose>
    <jsp:attribute name="pageTitle">
        <c:out value="${pageTitle}" />
    </jsp:attribute>

(如果您将其保留为${pageTitle}并且我已确认pageTitle不为空,也无效)

但是这样做:

    <jsp:attribute name="pageTitle">
        <dsp:getvalueof var="contentId" param="contentId" />
        <c:choose>
            <c:when test="${fn:contains(contentId, 'fol')}">
                <dsp:droplet name="FolderLookupDroplet">
                    <dsp:param name="id" param="contentId" />
                    <dsp:param name="elementName" value="folder" />
                    <dsp:oparam name="output">
                        <dsp:valueof param="folder.name"/>
                    </dsp:oparam>
                </dsp:droplet>                  
            </c:when>
            <c:otherwise>
                <%-- Cover the default or empty scenario --%>
                Corporate Information
            </c:otherwise>
        </c:choose>
    </jsp:attribute>

问题是。我不想让Droplet调用3次来获取我要传递给其他<jsp:attribute>标签的其他内容。确定范围pageTitle变量存在问题吗?

不熟悉ATG <dsp>标记的人请注意: <dsp:getvalueof var="pageTitle" value="Corporate Information"/>相当于<c:set var="pageTitle">Corporate Information</c:set>

1 个答案:

答案 0 :(得分:0)

找到了另一个article,表示它可以在页面中的间距和注释周围。删除了<jsp:attribute>代码与<abc:pageContainer>代码之间的任何空格和评论,以及在<c:choose>之前移动<abc:pageContainer>我现在有了一个工作页面。空白没有发挥作用,因为我添加了一些空格。我怀疑这更多的是在网上编辑期间没有正确编译页面。