2401_83910933 2024-05-27 12:52 采纳率: 33.3%
浏览 9

EL表达式不识别内容

在写JavaWeb项目过程中,从servlet转发了一个ArrayList集合到jsp界面中显示,但转发到jsp界面中后,用EL表达式获取,但提示 “无法解析变量”
servlet界面

img


jsp界面

img

  • 写回答

3条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-05-27 12:52
    关注

    引自免费微信小程序:皆我百晓生

    根据您提供的信息,看起来在JSP页面中的EL表达式${key_list}未被正确解析,导致了“无法解析变量”的错误。这通常是因为在请求转发时没有正确地设置属性名,或者在JSP页面中引用了错误的属性名。

    首先,检查一下S servlet中设置属性的部分,这里有一个拼写错误。在设置request attribute时,字符串s:不应该出现在变量名前。修改S servlet中的这一行代码:

    request.setAttribute("key_List", goodsList);
    

    然后,在JSP页面中,同样修正key_list变量的引用。去掉前面多余的字符s:,正确的引用应该是${key_List}。以下是修复后的JSP代码片段:

    <table>
        <thead>
            <tr>
                <th>库存</th>
                <th>描述</th>
                <th>操作</th>
            </tr>
        </thead>
        <tbody>
            <c:forEach items="${key_List}" var="goods" varStatus="idx">
                <tr>
                    <td>${idx.count}</td>
                    <td>${goods.name}</td>
                    <td>${goods.price}</td>
                    <td>${goods.inventory}</td>
                    <td>${goods.description}</td>
                    <td><a href="#">删除</a></td>
                    <td><a href="modifygoods">修改</a></td>
                </tr>
            </c:forEach>
        </tbody>
    </table>
    

    保存并重新运行您的应用,这应该能解决“无法解析变量”的问题。确保已经正确导入了JSTL标签库,并且在JSP文件头部添加了相应的指令,例如:

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

    这样就可以在JSP页面中使用 <c:forEach> 标签了。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 5月27日

悬赏问题

  • ¥15 35114 SVAC视频验签的问题
  • ¥15 impedancepy
  • ¥15 在虚拟机环境下完成以下,要求截图!
  • ¥15 求往届大挑得奖作品(ppt…)
  • ¥15 如何在vue.config.js中读取到public文件夹下window.APP_CONFIG.API_BASE_URL的值
  • ¥50 浦育平台scratch图形化编程
  • ¥20 求这个的原理图 只要原理图
  • ¥15 vue2项目中,如何配置环境,可以在打完包之后修改请求的服务器地址
  • ¥20 微信的店铺小程序如何修改背景图
  • ¥15 UE5.1局部变量对蓝图不可见