老师看一下哪里错了?为什么打印不出来?

来源:2-13 自由编程

一心励志当码农

2019-10-21 21:25:32

package com.imooc.jstl;

public class Notice {
	private String id;
	private String name;
	public Notice(String id,String name) {
		this.id=id;
		this.name=name;
	}
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	@Override
	public String toString() {
		return "Notice [id=" + id + ", name=" + name + "]";
	}
	
}
package com.imooc.jstl;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class NoticeServlet
 */
@WebServlet("/ns")
public class NoticeServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public NoticeServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		List list=new ArrayList();
		list.add(new Notice("003","一定要多写代码,多练习呦!"));
		list.add(new Notice("002","欢迎学习Java Web课程!"));
		list.add(new Notice("001","欢迎来到慕课网!"));
		request.setAttribute("notice", list);
		request.getRequestDispatcher("/notice.jsp").forward(request, response);
		
	}

}
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<h1>公告展示</h1>
	<c:forEach items="${requestScope.notice}" var="n">
		<h2>${n.id }-${n.name }</h2>
	</c:forEach>
</body>
</html>

另外我想问下地址栏输入http://localhost:8080/jstl/notice.jsp对吗

写回答

1回答

好帮手慕小班

2019-10-22

同学你好,这里测试运行贴出代码,在地址栏中输入/ns,后跳转进入notice.jsp页面,展示效果如下:

http://img.mukewang.com/climg/5dae6ffc0935004f04740264.jpg

这里同学需要注意一点,那就是在地址栏中需要输入的是NoticeServlet这个servlet对应的地址中,向request中存入数据list跳转到notice.jsp。

如果直接进入notice.jsp,那request中并没有对应的数据内容呐,所以不会直接展示出来的呐。

如果我的回答解决了你的疑惑,请采纳,祝学习愉快~

0

0 学习 · 9666 问题

查看课程