老师,为啥我for循环里面使用return时,返回空白页面,不显示查询结果呢?

老师,为啥我for循环里面使用return时,返回空白页面,不显示查询结果呢?

package com.imooc.servlet;

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

import javax.servlet.ServletContext;
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 SearchGoodsByIdServlet
*/
@WebServlet("/search")
public class SearchGoodsByIdServlet extends HttpServlet {
private static final long serialVersionUID = 1L;

/**
* @see HttpServlet#HttpServlet()
*/
public SearchGoodsByIdServlet() {
super();
// TODO Auto-generated constructor stub
}

/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
ServletContext context=request.getServletContext();
String id=request.getParameter("id");
Goods result=null;
List<Goods> list=(List)context.getAttribute("goodsList");
for(Goods goods:list) {
if((goods.getGoodsId().toString()).equals(id)) {
result=goods;
break;
//return;
}
}
context.setAttribute("result",result);
request.getRequestDispatcher("searchById.jsp").forward(request,response);
}

/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}

}



使用break时 就可以显示出正常的查询结果界面,,为啥呢?

正在回答

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

2回答

​抱歉同学,return有两种用法,一种是返回方法指定类型值,另一种是用于结束方法的标志。这里是第二种用法,用于结束该方法。

祝:学习愉快~

好帮手慕阿满 2020-11-10 18:56:57

同学你好,使用break是跳出循环,继续向后执行,当执行到转发的代码时,正确的显示页面。

使用return是返回方法的调用处,调用方法后并没转发或重定向的语句,所以显示空白页面。

祝:学习愉快~

  • 提问者 谁叫我这么坏 #1
    《使用return是返回方法的调用处》,再这段代码中使用return的话,是返回到哪里啊?
    2020-11-12 20:41:15
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

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