java - Servlet 代码在不同场景下转发到同一页面而不是另一个页面

标签 java jsp servlets

根据我的要求,主页包含 TextField 和单选按钮。

场景 1:当用户在 TextField 中输入“locationno”并提交时,servlet 将调用 DB 并从数据库中获取输入的 locationno 的记录,然后转发到 locationDetails 页面。其工作正常

场景2:当用户在TextField中输入locationno时,同时单击单选按钮,servlet将调用DB并获取特定locationno的所有详细信息,然后转发到locationAllDetails页面。这里它正在正确获取记录,但是它总是转发到 locationDetails 页面而不是 locationAllDetails 页面。 当我在日志中输入 TextField 和单选按钮后单击提交按钮时,它显示 Outputtype(单选按钮名称)为“ALL”,但它仍然始终转发到 locationDetails 页面而不是 locationAllDetails 页面

下面的代码有什么问题,我的怀疑是由于这一行

 request.setAttribute("locationbean", locResultsList);

请找到下面的代码并提供帮助。

          if (strSearchType != null && strSearchType.equals("locationNo")){
            inLoop = "siteID : ";
            RequestDispatcher rd = null;
            String locationNo = null;

            String flow = null;
            String pagePosition = null;
            String sitePagePositon = null;
            String outputType = null;

            List locResultsList = null;



            try{
                pagePosition = request.getParameter("pagePosition");

                if(pagePosition != null){
                    request.setAttribute("pagePosition",pagePosition);
                    rd = this.getServletContext().getRequestDispatcher("/jsp/locationDetails.jsp");
                    rd.forward(request, response);
                }
else{                                   
                    flow = "locationSearchFlow";
                    locationNo = request.getParameter("locationNo");
                    session.setAttribute("locationNo",locationNo);
                    outputType = request.getParameter("outputType");

                    rd = this.getServletContext().getRequestDispatcher("/jsp/SiteSearchResults.jsp");

                    LocationCodeDAOBean locDaoBean = new LocationCodeDAOBean();

           List locResultsList = locDaoBean.getLocationResults(locationNo); 

         request.setAttribute("locationbean", locResultsList);

     if(locResultsList.size() == 0){
                            rd =     this.getServletContext().getRequestDispatcher("/jsp/ExceptionPage.jsp");
                        request.setAttribute("errorMessage","No Records Returned for Site Item Location Details, Req Number = "+siteID);
                        rd.forward(request, response);
                    }else if(outputType.equals("ALL")){

                        locationNo = request.getParameter("locationNo ");
                        session.setAttribute("locationNo ",locationNo );                        

                        LocationCodeDAOBean locDaoALLBean = new LocationCodeDAOBean();
   List locAllResultsList = locDaoALLBean .getALLLocationResults(locationNo);

   request.setAttribute("pagePosition", "0");
                        request.setAttribute("locationALLbean",    locAllResultsList);
                        session.setAttribute("flow",flow);
                        rd = this.getServletContext().getRequestDispatcher("/jsp/LocationSearchAllResults.jsp");
                        rd.forward(request, response);
      }

                    else{
                        rd = this.getServletContext().getRequestDispatcher("/jsp/ExceptionPage.jsp");
                        request.setAttribute("errorMessage","No Records Returned for Site Item Location Details, Req Number = "+siteID);
                        rd.forward(request, response);
                    }
                }       

最佳答案

每次转发后都会返回。

if (pagePosition != null) {
    request.setAttribute("pagePosition", pagePosition);
    rd = this.getServletContext().getRequestDispatcher("/jsp/locationDetails.jsp");
    rd.forward(request, response);
    return;
}

关于java - Servlet 代码在不同场景下转发到同一页面而不是另一个页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40345054/

相关文章:

Java servlet : xml validation against xsd

java - 无法将 jsp 链接到 servlet...未找到片段..?

java - 切入点表达式内有多个执行语句,但只有一个正在运行

java - 寻找 Java 在线异常跟踪器

java - 公共(public)文件上传 : specifying an upload directory within Webapplication context

java - JSP 下载 - 应用程序/八位字节流

java - Vaadin 中图表配置的序列化

java - 自动刷新不起作用,因为我希望它起作用

java - JSP类解释

java - 如何获取 WAR 文件的名称?