servlet传送list信息为什么在jsp页面中不能显示?可是在其他电脑上可以正常显示。

发布于 2021-11-16 21:04:29 字数 2121 浏览 857 评论 12

<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%> 
<%@ taglib uri=" http://java.sun.com/jsp/jstl/core" prefix="c" %> 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
<html> 
  <head> 
    <title>My JSP 'showByPage.jsp' starting page</title> 
  </head> 
  <body> 
   <h1>分页显示用户信息页面</h1> 
    <form action="" method="post"> 
     <table border="1"> 
      <tr> 
      <th>编号</th><th>姓名</th><th>年龄</th><th>电话</th><th>地址</th><th>操作</th> 
      </tr> 
      <c:forEach items="${list}" var="list"> 
       <tr> 
        <td>${list.id }</td> 
        <td>${list.name }</td> 
        <td>${list.age }</td> 
        <td>${list.tel }</td> 
        <td>${list.address }</td> 
        <td> 
         <a href="QueryUserByIdServlet?id=${list.id }">修改</a> 
         <a href="DeleteUserServlet?id=${list.id }">删除</a> 
        </td> 
       </tr> 
      </c:forEach> 
     </table> 
     <c:if test="${page ==1}">首页</c:if> 
     <c:if test="${page > 1}"><a href="ShowByPageServlet?page=1">首页</a></c:if> 
     <c:if test="${page ==1}">上一页</c:if> 
     <c:if test="${page > 1}"><a href="ShowByPageServlet?page=${page-1 }">上一页</a></c:if> 
     <c:if test="${page == maxpage}">下一页</c:if> 
     <c:if test="${page < maxpage}"><a href="ShowByPageServlet?page=${page+1 }">下一页</a></c:if> 
     <c:if test="${page == maxpage}">末页</c:if> 
     <c:if test="${page < maxpage}"><a href="ShowByPageServlet?page=${maxpage }">末页</a></c:if> 
    </form> 
  </body> 
</html>

这是jsp代码,应当是没问题的ShowByPageServlet中的代码应当也没问题因为在其他的电脑上可以正常显示。我怀疑是配置问题,可是我在web.xml中也配置好了,嗨,就是不知道问题出在哪了?请大家帮忙指教!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(12

像你 2021-11-17 18:49:17

检查文件名称是否错误,试一试用jsp标签是否能够取出

岁吢 2021-11-17 18:49:17

应该是没有启用EL:

<%@ page isELIgnore="false" %>

这样试试

顾挽 2021-11-17 18:49:12

我的web.xml文件使用的servlet的版本没有声明。不用声明吧,在其他电脑上移植过来的,而且在其他电脑上可以正常运行。

柒夜笙歌凉 2021-11-17 18:49:06

更正:我的版本是2.5的,应当不是这的问题。

清风夜微凉 2021-11-17 18:48:12

把你的web.xml贴一份出来吧。 看看你怎么确认版本是2.5的。

回眸一笑 2021-11-17 18:47:46

检查一下你的web.xml。

是否web.xml文件使用的是servlet 2.3版本的声明的问题。

el表达式在servlet 2.3中默认是不启用的。

希望能帮上忙,顺便楼主给标记下最佳答案。哇咔咔!

---2.3---

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app
  PUBLIC '-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN'
  'http://java.sun.com/dtd/web-app_2_3.dtd'>

---2.4---

<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
    version="2.4">

---2.5---

<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

飘然心甜 2021-11-17 18:47:30

只要 list 有值,这个servlet没什么问题

离去的眼神 2021-11-17 18:47:00

list有值,试过了。

柳絮泡泡 2021-11-17 17:41:04
public class ShowByPageServlet extends HttpServlet {


 public void destroy() {
  super.destroy(); // Just puts "destroy" string in log
 }
 public void doGet(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {

  response.setContentType("text/html");
  PrintWriter out = response.getWriter();
  this.doPost(request, response);//调用doPost方法
  out.flush();
  out.close();
 }

 public void doPost(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {

  response.setContentType("text/html");
  PrintWriter out = response.getWriter();
  String page1 = request.getParameter("page");//获得页面传递过来的page值赋值给page1
  int page =1;
  if(page1 != null){
   page = Integer.parseInt(page1);//如果页面传递过来的page值存在,则把该page1赋值给page变量
  }
  ShowByPage byPage = new ShowByPage();
  List<UserVo> list = byPage.showByPage(page);
  int maxpage = byPage.maxpage();
  request.setAttribute("list", list);
  request.setAttribute("page", page);
  request.setAttribute("maxpage", maxpage);
  System.out.println(maxpage);
  request.getRequestDispatcher("showByPage.jsp").forward(request, response);
  out.flush();
  out.close();
 }
 public void init() throws ServletException {
  
 }

}

这是servlet代码,您看有问题吗?

瀞厅☆埖开 2021-11-17 16:04:04

也试了,不是这的问题。

筱果果 2021-11-17 15:46:23

看看你 servlet 怎么写的?另外 servlet 是怎么跑到 jsp 呢? 是 include 还是 redirect 呢?

叹沉浮 2021-11-17 14:43:25

tomcat启动后,只能显示的页面是下面:

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文