为什么在部署Web应用程序时JSTL标记显示为问号?

时间:2012-11-27 22:51:25

标签: java jsp jstl java-ee-6

我正在关注基于Java EE技术的Netbeans电子商务教程,我花了两天的时间来消除所有问题,包括数据库连接和理解Web应用程序的功能,现在我终于设法运行了我从Netbeans教程下载的整个Web应用程序。但是JSTL标签显示 ???? 问号时出现问题,下面的代码片段显示了它的实现方式:

    <c:forEach var="category" items="${categories}">

    <c:choose>
        <c:when test="${category.name == selectedCategory.name}">
            <div class="categoryButton" id="selectedCategory">
                <span class="categoryText">
                    <fmt:message key="${category.name}"/>
                </span>
            </div>
        </c:when>
        <c:otherwise>
            <a href="<c:url value='category?${category.id}'/>" class="categoryButton">
                <span class="categoryText">
                    <fmt:message key="${category.name}"/>
                </span>
            </a>
        </c:otherwise>
    </c:choose>

</c:forEach>

这是我在浏览器上运行时的样子,运行此Web应用程序的服务器是GLASSFISH:

enter image description here

在图像中,带下划线的问号是JSTL标记,当我尝试删除标记时,问号不会出现,但我无法删除整个for循环。

1 个答案:

答案 0 :(得分:4)

这些问号来自

<fmt:message key="${category.name}"/>

当您有???Action???时,表示您使用fmt:message标记并以Action作为密钥,但资源包中找不到Action密钥