You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修复运行代码时出现的PWC6212: equal symbol expected错误?

修复JSTL代码中的PWC6212错误与标签库依赖问题

首先解决你碰到的PWC6212: equal symbol expected错误:
这个报错完全是因为<c:set>标签的语法写错了——你多写了一个多余的set属性。原代码里的<c:set set var="un" value="${username}"/>不符合JSTL标签规范,正确的写法只需要保留var(定义变量名)和value(变量值)两个属性,修正后应该是:

<c:set var="un" value="${username}"/>

再说说移除@taglib标记后只显示<c:otherwise>块内容的问题:
JSTL的<c:choose>、<c:when>这些标签不是JSP的原生标签,必须通过taglib指令引入对应的核心标签库,才能让服务器识别并执行这些标签的逻辑判断。如果删掉顶部的taglib标记,服务器会把这些JSTL标签当成普通的文本直接跳过,根本不会执行<c:when>里的非空判断,自然就默认走了<c:otherwise>的分支。

完整修复后的代码示例

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<c:set var="un" value="${username}"/>
<c:choose>
    <c:when test="${not empty un}">
        <div class="header">
            <img src="../src/img/cd2.png">
            <div class="header-right">
                <a href="../learning-material.html">View Material</a>
                <a href="../SummativeQuestionHome.html">Summative</a>
                <a href="../">Formative</a>
                <a href="../View-Performance.html">View Performance</a>
                <a href="../">Manage Profile</a>
                <a class="active" href="logoutServlet">Logout</a>
            </div>
        </div>
    </c:when>
    <c:otherwise>
        <div class="header">
            <img src="../src/img/cd2.png">
            <div class="header-right">
                <a href="logoutServlet">Logout</a>
                <a class="active" href="../loginpage.jsp">Login</a>
            </div>
        </div>
    </c:otherwise>
</c:choose>

另外给你个小优化建议:判断变量是否有效,用${not empty un}比${!un.equals(null)}更稳妥——它会同时检查变量是否为null、是否为空字符串,能避免潜在的空指针异常。

内容的提问来源于stack exchange,提问作者Amir

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.11 07:57:17