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

运行代码时出现PWC6212: equal symbol expected错误,求修复方案

修复方案:解决PWC6212语法错误与JSTL标签失效问题

1. 快速解决PWC6212错误

你碰到的PWC6212: equal symbol expected错误,根源是<c:set>标签的语法写错了——多写了一个多余的set属性!

原错误代码片段:

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

正确的<c:set>标签只需要var(定义变量名)和value(变量值)两个核心属性,修复后应该是:

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

这个多余的set会让JSP解析器无法识别标签结构,直接抛出语法错误,删掉它就能解决第一个问题。

2. 解释移除@taglib指令后仅显示<c:otherwise>内容的问题

这是完全正常的现象,因为JSTL标签必须依赖taglib指令才能被JSP容器识别。如果你移除了顶部的<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>指令,<c:choose>、<c:when>、<c:set>这些标签会被当成普通字符串文本,完全不会执行条件判断逻辑。

此时JSP只会渲染所有普通HTML内容,<c:otherwise>里的头部代码是纯HTML,自然会直接显示;而<c:when>里的内容因为被包裹在未被解析的<c:when>标签里,不会被渲染出来。所以必须保留这个taglib指令,才能让JSTL标签正常工作,实现条件渲染的逻辑。

完整修复后的代码(含优化建议)

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

<c:set var="un" value="${username}"/>
<c:choose>
    <!-- 优化:用JSTL自带的empty判断更安全,避免null调用equals的空指针异常 -->
    <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>

内容的提问来源于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:54:17