• 使用c:forEach出现页面空白,没有数据


    关注 码龄 粉丝数 原力等级 -- 被采纳 被点赞 采纳率 点o 2024-05-24 00:29 采纳率: 66.7% 浏览 5 首页/ 编程语言 / 使用c:forEach出现页面空白,没有数据 javaspring bootspring controller package com.hnjdxy.controller; import java.util.List; import javax.servlet.http.HttpServletRequest; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.servlet.ModelAndView; import com.hnjdxy.pojo.scheme; import com.hnjdxy.service.schemeService; @Controller public class schemeController { @Autowired private schemeService schemservice; @RequestMapping("/findAll") public ModelAndView findAll() { List list=schemservice.findAll(); ModelAndView mav=new ModelAndView(); mav.setViewName("listOffer.jsp"); mav.addObject("list",list); return mav; } @RequestMapping("/findUserByid") public ModelAndView getUserById(HttpServletRequest request){ ModelAndView mav=new ModelAndView(); String bpl_guid=request.getParameter("bpl_guid"); scheme scheme=schemservice.findUserByid(bpl_guid); mav.setViewName("updateOffer.jsp"); mav.addObject("scheme",scheme); return mav; } @RequestMapping("/update") public ModelAndView update(HttpServletRequest request) { ModelAndView mav=new ModelAndView(); String bpl_guid=request.getParameter("bpl_guid"); String unit_name=request.getParameter("unit_name"); String period1_area=request.getParameter("period1_area"); String per_sum_area=request.getParameter("per_sum_area"); String inputer=request.getParameter("inputer"); scheme s=new scheme(); s.setBpl_guid(bpl_guid); s.setUnit_name(unit_name); s.setPeriod1_area(period1_area); s.setPeriod1_area(period1_area); s.setInputer(inputer); schemservice.update(s); mav.setViewName("/findAll"); return mav; } } mapper package com.hnjdxy.dao; import java.util.List; import com.hnjdxy.pojo.scheme; public interface schemeMapper { public List findAll(); public int update(scheme scheme); public scheme findUserByid(String bpl_guid); } xml UPDATE t_land_offer_scheme SET unit_name=#{unit_name}, period1_area=#{period1_area}, per_sum_area=#{per_sum_area},inputer=#{inputer} WHERE bpl_guid=#{bpl_guid} service package com.hnjdxy.service; import java.util.List; import com.hnjdxy.pojo.scheme; public interface schemeService { public List findAll(); public int update(scheme scheme); public scheme findUserByid(String bpl_guid); } serviceimpl package com.hnjdxy.service; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.hnjdxy.dao.schemeMapper; import com.hnjdxy.pojo.scheme; @Service public class schemeServcieImpl implements schemeService { @Autowired private schemeMapper schememapper; @Override public List findAll() { // TODO Auto-generated method stub return schememapper.findAll(); } @Override public int update(scheme scheme) { // TODO Auto-generated method stub return schememapper.update(scheme); } @Override public scheme findUserByid(String bpl_guid) { // TODO Auto-generated method stub return schememapper.findUserByid(bpl_guid); } } jsp <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
    说明书序号
    单位名称
    第一期面积
    本期用地总面积
    填表人
    ${list.bpl_guid}
    ${list.unit_name}
    ${list.period1_area}
    ${list.per_sum_area}
    ${list.inputer}
    修改jsp <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> 添加供地方案
    说明书序号
    单位名称
    *
    第一期面积
    本期用地总面积
    填表人
    为什么我运行出来是空白的,点击修改就连表格都没有, 展开全部 收起 写回答 好问题 0 提建议 追加酬金 关注问题 微信扫一扫 点击复制链接 分享 邀请回答 编辑 收藏 删除 结题 收藏 举报 追加酬金 (90%的用户在追加酬金后获得了解决方案) 当前问题酬金 ¥ 0 (可追加 ¥500) ¥ 15¥ 20¥ 50¥ 100¥ 200 支付方式 扫码支付 二维码出错 点击刷新 支付金额 15 元 提供问题酬金的用户不参与问题酬金结算和分配 支付即为同意 《付费问题酬金结算规则》 结题 再想想 删除 再等等

    4条回答 默认 最新

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

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

      根据您提供的代码和描述,看起来您的应用应该展示一个包含列表信息的页面,并且用户可以对单个条目进行编辑。目前的问题在于,您在JSP页面上使用的标签可能存在一些错误。

      首先,让我们检查一下JSP页面上的标签。在原始的JSP代码中,您有一个错误地定义了循环变量名。在遍历时,您使用了var="list",但在循环体内部,您又使用了lists。这会导致找不到正确的对象。下面是修复后的JSP代码:

      <%@ page language="java" contentType="text/html; charset=utf-8"
          pageEncoding="utf-8"%>
      <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
      
      
      
      
      添加供地方案
      
      
      
      
      
      
      说明书序号
      单位名称
      *
      第一期面积
      本期用地总面积
      填表人

      这段代码应该修复循环变量名不一致的问题。同时,我注意到在修改后的JSP页面中,所有的表单元素都放在了一个大的循环里,这意味着每个数据项都会有自己的提交按钮。为了正确处理更新请求,您可能需要为整个表格提供一个单独的提交按钮,而不是每个项目都有一个。

      确保您的控制器方法将模型属性传递给正确的视图(例如findAll方法中的mav.setViewName("listOffer.jsp"))。如果问题仍然存在,请检查网络日志或控制台输出,看是否有任何与数据获取、渲染或提交相关的异常。此外,确认数据库连接正常并且数据确实被查询到了。

      展开全部

      评论 编辑记录
      点o 2024-05-24 00:34

      修改这样,还是空白的

      img

      img

      回复
    • Kwan的解忧杂货铺 Java领域优质创作者 2024-05-24 00:29
      关注

      上午好☀️☀️☀️️
      本答案参考ChatGPT-3.5

      问题描述:使用c:forEach出现页面空白,没有数据。 问题原因:无法确定具体原因,代码实现并不明显,可能需要将有关的代码贴出来。 解决方案:

      1.检查标签是否使用正确,params和items参数是否正确。 2.检查requestattribute是否正确设置。 3.检查是否与其他标签/功能冲突。如果出现此问题,请尝试删除或移到其他位置,确保没有冲突。 4.查看日志是否报错。如有错误,请查看日志并解决问题。 5.尝试将expression改为$.expression,例如:c:forEach items="${$.list}"。 6.对于较大的数据集,请使用Pagination分页。 7.使用JSTL标签替代c:forEach。例如,使用注入的集合在页面上遍历:

      8.检查控制器是否返回了正确的数据类型。 9.检查代码是否有逻辑错误。 10.检查数据库中的数据是否存在。

      修改后代码:

      jsp <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>

      List of Offers

      List of Offers:

      Bpl_GuidUnit_NamePeriod1_AreaPer_Sum_AreaInputerAction
      ">Edit

      Controller: @RequestMapping("/findAll") public String findAll(Model model) { List list = schemeService.findAll(); model.addAttribute("list", list); return "listOffer"; }

      service @Override public List findAll() { return schemeMapper.findAll(); }

      评论
    • 专家-百锦再@新空间代码工作室 全栈领域优质创作者 2024-05-24 00:30
      关注

      您的代码中存在一些错误,导致页面无法正确显示数据。以下是可能导致问题的部分:

      1. 在schemeController类中的find方法和get方法中,您没有正确设置ModelAndView对象的属性值,可能导致数据无法正确传递到页面上。

      2. 在update方法中,您没有正确设置scheme对象的属性值,可能导致更新操作失败。

      3. 在jsp文件中,您可能没有正确获取数据并展示在页面上,导致页面显示为空白。

      建议您仔细检查代码,确保数据正确传递和展示在页面上。您可以使用调试工具和日志来检查代码执行过程中是否出现错误。您还可以在页面上输出一些调试信息,帮助您找出问题所在。


      有问题你别着急,评论留言都可以,看到马上就回复,尽量及时补充齐
      评论
    • 阿里嘎多学长 2024-05-24 01:18
      关注

      以下内容由CHATGPT及阿里嘎多学长共同生成、有用望采纳:


      从你提供的代码和描述来看,页面显示空白的问题可能由以下几个原因导致:

      1. 数据是否成功加载:首先需要确认schemeServicefindAll方法是否成功从数据库中获取了数据。可以通过在findAll方法中打印日志或者使用调试工具来验证这一点。

      2. ModelAndView对象是否正确设置:检查ModelAndView对象是否正确设置了视图名称和模型属性。在你的findAll方法中,你已经将数据列表添加到了模型中,并且设置了视图名称为listOffer.jsp

      3. JSP页面的c:forEach标签使用:在你的JSP页面中,c:forEach标签的items属性应该引用模型中的数据。在你的代码中,items属性被设置为${list},这应该是正确的,但是需要确保list确实是从后端传递到页面的模型属性。

      4. JSP页面的语法错误:检查JSP页面是否有语法错误。例如,你的c:forEach标签中使用了${lists.bpl_guid},但是var属性设置为"list",这可能会导致问题。应该保持一致性,要么都使用list,要么都使用lists

      5. 表单提交的Action和Method:在修改页面的表单中,action属性应该指向正确的URL,并且method应该设置为post。在你的代码中,这看起来是正确的。

      6. 页面编码问题:确保页面的编码设置正确,通常设置为utf-8

      7. 浏览器缓存问题:有时候浏览器缓存可能会导致问题,尝试清除浏览器缓存或者使用无痕模式访问页面。

      8. Spring MVC配置问题:检查Spring MVC的配置是否正确,确保JSP页面能够被正确解析和渲染。

      9. 检查日志:查看Spring Boot的日志输出,看是否有异常信息或者错误提示。

      10. 错误页面配置:如果Spring Boot配置了错误页面,确保它没有捕获到导致页面空白的错误。

      由于你提供了图片,但是作为AI,我无法直接查看图片内容。如果图片中包含了错误信息或者异常堆栈,那将是非常有用的信息。你可以将图片中的关键信息转换为文本,并提供给我,这样我可以更准确地帮助你解决问题。

      最后,如果你在本地开发环境中无法解决问题,可以考虑将应用部署到一个更简单的环境(如内网服务器)上,看看是否能够复现问题,这有助于排除本地环境配置问题。

      评论 编辑记录
    编辑
    预览

    报告相同问题?

  • 相关阅读:
    量化初探: 对称量化以及非对称量化
    在cesuim上展示二维模型
    开学季--CSDN联合天津科技大学校园活动正式来袭啦~
    归并排序-面试例子
    8086 汇编笔记(三):第一个程序
    TP4067带电池反接保护500MA线性锂电池充电芯片
    JVM stringTable的理解学习
    C#版字节跳动SDK - SKIT.FlurlHttpClient.ByteDance
    【Dubbo3高级特性】「框架与服务」 服务分组及服务分组聚合实现
    WebSocket--技术文档--架构体系--《WebSocket实现原理以及关键组件》
  • 原文地址:https://ask.csdn.net/questions/8108492