前端页面不显示数据,但是添加部门后,后台数据库的数据会更新,控制台也没有报错

前端页面不显示数据,但是添加部门后,后台数据库的数据会更新,控制台也没有报错

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

9回答
提问者 十年_之后 2019-02-19 19:32:24

package com.work.oa.controller;

import com.work.oa.biz.DepartmentBiz;
import com.work.oa.entity.Department;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

import java.util.Iterator;
import java.util.Map;

/**
* @ClassName DepartmentController
* @Description TODO
* @Auther wangyang
* @Date 2019/2/13 20:17
* @Version 1.0
**/

@Controller("departmentController")
@RequestMapping("/department")
public class DepartmentController {

   @Autowired
   public DepartmentBiz departmentBiz;

   @RequestMapping("/list")
   public String list(Map<String,Object> map){
       map.put("list",departmentBiz.getAll());
       Iterator<Map.Entry<String,Object>> it=map.entrySet().iterator();
       while(it.hasNext()){
           Map.Entry<String,Object> entry=it.next();
           System.out.println(entry.getValue());
       }
       return "department_list";
   }

   @RequestMapping("/to_add")
   public String toAdd(Map<String,Object> map){
       map.put("department",new Department());
       return "department_add";
   }

   @RequestMapping("/add")
   public String add(Department department){
       departmentBiz.add(department);
       return "redirect:list";
   }
   @RequestMapping(value = "/to_update",params = "sn")
   public String toUpdate(String sn,Map<String,Object> map){
       map.put("department",departmentBiz.get(sn));
       return "department_update";
   }

   @RequestMapping("/update")
   public String update(Department department){
       departmentBiz.edit(department);
       return "redirect:list";
   }

   @RequestMapping(value = "/remove",params = "sn")
   public String remove(String sn,Map<String,Object> map){
       departmentBiz.remove(sn);
       return "redirect:list";
   }
}


DepartmentController.java的代码

chrismorgen 2019-02-19 17:29:15

不需要再添加basePath,感觉你的数据应该没有返回到department_list.jsp中,请问同学是在DepartmentController的代码中打印list集合的吗?如果不是,建议在下图list方法中打印一下list集合,看看是否有数据,或者将DepartmentController中的代码粘贴一下,方便我们为你进行调试,祝学习愉快~

http://img1.sycdn.imooc.com//climg/5c6bcb78000178c304770155.jpg

  • 提问者 十年_之后 #1
    我把departmentcontroller的代码贴在回答上了,控制台可以打印出数据,应该是没有返回到department_list.jsp
    2019-02-19 19:34:13
  • 提问者 十年_之后 #2
    我找到错误了,因为没有引入c标签
    2019-02-19 20:52:54
提问者 十年_之后 2019-02-19 13:22:31

http://img1.sycdn.imooc.com//climg/5c6b91330001827a09671047.jpghttp://img1.sycdn.imooc.com//climg/5c6b911200011ebc09671047.jpg

之前有两个jpg报错是因为我忘了在路径前加/,加了之后F12就没有问题,但是前端数据仍然显示不出来,还是要用basepath吗

chrismorgen 2019-02-18 19:03:09

你好同学,举个例子,在top.jsp中,可以在路径前加上basePath来表示。譬如下图写法,

<img src="<%=basePath%>/assets/img/avatars/5.jpg" alt="avatar" class="mw30 br64">

而basePath的代码可以按下图这种写法添加到页面顶端呢,如果还有问题同学可以继续提问哦,祝学习愉快~

http://img1.sycdn.imooc.com//climg/5c6a8dcd0001fd7e06350077.jpg

  • 提问者 十年_之后 #1
    我把截图放在回答上了,还有关于basepath是只要把<% String path=request.getContextPath(); String basepath=request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %>写在页面顶端,然后在所有静态资源的路径前加上<%=basepath%>就可以了吗?
    2019-02-19 13:25:15
提问者 十年_之后 2019-02-18 14:12:37

<%--
 Created by IntelliJ IDEA.
 User: 12640
 Date: 2019/2/13
 Time: 20:26
 To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page isELIgnored="false" %>

<jsp:include page="top.jsp"/>


<section id="content" class="table-layout animated fadeIn">
   <div class="tray tray-center">
       <div class="content-header">
           <h2> 部门列表 </h2>
           <p class="lead"></p>
       </div>
       <div class="admin-form theme-primary mw1000 center-block" style="padding-bottom: 175px;">
           <div class="panel  heading-border">
               <div class="panel-menu">
                   <div class="row">
                       <div class="hidden-xs hidden-sm col-md-3">
                           <div class="btn-group">
                               <button type="button" class="btn btn-default light">
                                   <i class="fa fa-refresh"></i>
                               </button>
                               <button type="button" class="btn btn-default light">
                                   <i class="fa fa-trash"></i>
                               </button>
                               <button type="button" class="btn btn-default light">
                                   <i class="fa fa-plus" onclick="javascript:window.location.href='/department/to_add';"></i>
                               </button>
                           </div>
                       </div>
                       <div class="col-xs-12 col-md-9 text-right">
                           <div class="btn-group">
                               <button type="button" class="btn btn-default light">
                                   <i class="fa fa-chevron-left"></i>
                               </button>
                               <button type="button" class="btn btn-default light">
                                   <i class="fa fa-chevron-right"></i>
                               </button>
                           </div>
                       </div>
                   </div>
               </div>
               <div class="panel-body pn">
                   <table id="message-table" class="table admin-form theme-warning tc-checkbox-1">
                       <thead>
                       <tr class="">
                           <th class="text-center hidden-xs">Select</th>
                           <th class="hidden-xs">部门编号</th>
                           <th class="hidden-xs">部门名称</th>
                           <th class="hidden-xs">地址</th>
                           <th>操作</th>
                       </tr>
                       </thead>
                       <tbody>
                       <c:forEach items="${list}" var="dept">
                       <tr class="message-unread">
                           <td class="hidden-xs">
                               <label class="option block mn">
                                   <input type="checkbox" name="mobileos" value="FR">
                                   <span class="checkbox mn"></span>
                               </label>
                           </td>
                           <td>${dept.sn}</td>
                           <td>${dept.name}</td>
                           <td>${dept.address}</td>
                           <td>
                               <a href="/department/to_update?sn=${dept.sn}">编辑</a>
                               <a href="/department/remove?sn=${dept.sn}">删除</a>
                           </td>
                       </tr>
                       </c:forEach>

                       </tbody>
                   </table>
               </div>
           </div>
       </div>
   </div>
</section>


<jsp:include page="bottom.jsp"/>

chrismorgen 2019-02-18 11:17:32

建议同学点击下图标记的两个jsp页面,看一下是哪行代码出现了404问题,

http://img1.sycdn.imooc.com//climg/5c6a23160001305d10150066.jpg

如果是资源文件出现了问题,同学可以参考一下http://class.imooc.com/course/qadetail/92783这个问答,使用basePath来写访问路径,可以避免访问路径资源出现404的问题,祝学习愉快~

  • 提问者 十年_之后 #1
    这个是jpg文件,不是jsp页面啊
    2019-02-18 13:42:16
  • 提问者 十年_之后 #2
    麻烦说详细一点
    2019-02-18 13:45:13
  • chrismorgen 回复 提问者 十年_之后 #3
    建议你将出现404路径的当前jsp页面的代码粘贴上来,我给你标记一下,祝学习愉快~
    2019-02-18 13:47:53
提问者 十年_之后 2019-02-17 20:46:10

http://img1.sycdn.imooc.com//climg/5c6953940001027711460153.jpg

浏览器的报错,百度了一下好像是没有加载静态资源,可是我明明按照视频设置了啊

http://img1.sycdn.imooc.com//climg/5c6957740001db0708040521.jpg

http://img1.sycdn.imooc.com//climg/5c69578d0001e75005450168.jpg

提问者 十年_之后 2019-02-15 22:08:47

http://img1.sycdn.imooc.com//climg/5c66c6bd0001b73019201048.jpghttp://img1.sycdn.imooc.com//climg/5c66c6c500011c5a09020528.jpg

http://img1.sycdn.imooc.com//climg/5c66c7110001883b19201048.jpghttp://img1.sycdn.imooc.com//climg/5c66c72f00012dcf16010437.jpg

我在控制台可以成功输出department的数据,数据库也可以更新数据,但是前端还是显示不出来,我感觉应该是jsp的问题,但是不知道哪里出错了。下面是department_list.jsp的代码。

<%--
  Created by IntelliJ IDEA.
  User: 12640
  Date: 2019/2/13
  Time: 20:26
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page isELIgnored="false" %>

<jsp:include page="top.jsp"/>


<section id="content" class="table-layout animated fadeIn">
    <div class="tray tray-center">
        <div class="content-header">
            <h2> 部门列表 </h2>
            <p class="lead"></p>
        </div>
        <div class="admin-form theme-primary mw1000 center-block" style="padding-bottom: 175px;">
            <div class="panel  heading-border">
                <div class="panel-menu">
                    <div class="row">
                        <div class="hidden-xs hidden-sm col-md-3">
                            <div class="btn-group">
                                <button type="button" class="btn btn-default light">
                                    <i class="fa fa-refresh"></i>
                                </button>
                                <button type="button" class="btn btn-default light">
                                    <i class="fa fa-trash"></i>
                                </button>
                                <button type="button" class="btn btn-default light">
                                    <i class="fa fa-plus" onclick="javascript:window.location.href='/department/to_add';"></i>
                                </button>
                            </div>
                        </div>
                        <div class="col-xs-12 col-md-9 text-right">
                            <div class="btn-group">
                                <button type="button" class="btn btn-default light">
                                    <i class="fa fa-chevron-left"></i>
                                </button>
                                <button type="button" class="btn btn-default light">
                                    <i class="fa fa-chevron-right"></i>
                                </button>
                            </div>
                        </div>
                    </div>
                </div>
                <div class="panel-body pn">
                    <table id="message-table" class="table admin-form theme-warning tc-checkbox-1">
                        <thead>
                        <tr class="">
                            <th class="text-center hidden-xs">Select</th>
                            <th class="hidden-xs">部门编号</th>
                            <th class="hidden-xs">部门名称</th>
                            <th class="hidden-xs">地址</th>
                            <th>操作</th>
                        </tr>
                        </thead>
                        <tbody>
                        <c:forEach items="${list}" var="dept">
                        <tr class="message-unread">
                            <td class="hidden-xs">
                                <label class="option block mn">
                                    <input type="checkbox" name="mobileos" value="FR">
                                    <span class="checkbox mn"></span>
                                </label>
                            </td>
                            <td>${currentTime}</td>
                            <td>${dept.name}</td>
                            <td>${dept.address}</td>
                            <td>
                                <a href="/department/to_update?sn=${dept.sn}">编辑</a>
                                <a href="/department/remove?sn=${dept.sn}">删除</a>
                            </td>
                        </tr>
                        </c:forEach>

                        </tbody>
                    </table>
                </div>
            </div>
        </div>
    </div>
</section>


<jsp:include page="bottom.jsp"/>


  • 你好同学,根据你粘贴的内容,可以判断出java代码与数据库连接是正确的,问题可能出在前端页面上,建议你在浏览器中按F12,看一下浏览器控制台中是否有报错提示呢?祝学习愉快~
    2019-02-17 11:17:19
  • 提问者 十年_之后 回复 chrismorgen #2
    你好,我按F12发现报错提示,发在回答里了,请看一下
    2019-02-17 20:47:43
好帮手慕阿莹 2019-02-14 11:04:45

1、后台从数据库查询出来的数据是否有呢?可以在控制台打印一下。

2、如果后台数据没有问题,可能就是jsp页面读取数据有问题,同学可以贴一下你后台相关的代码和jsp

注意不要贴在回复里,会失去代码的格式。可以在回答里贴一下。祝学习愉快。


  • 提问者 十年_之后 #1
    我爸代码贴在回答里了,麻烦帮我看一下
    2019-02-16 12:18:23
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
SSM主流框架入门与综合项目实战2018版
  • 参与学习           人
  • 提交作业       205    份
  • 解答问题       4317    个

Java中非常实用的SSM整合开发内容,从Spring开始,到MyBaits的进阶内容,再到SpringMVC的应用,最后是SSM整合开发案例,逐步深入,助你成长为一名Java工程师!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师