当前位置: 首页 > 知识库问答 >
问题:

我的JSP没有使用servlet中的刷新头从数据库中获取更新的值

慕承恩
2023-03-14

在我的Java web应用程序中,我使用了servlet(控制器)、JSP(视图)和POJO类。我每10秒运行一次应用程序,并将下拉列表中选定URL的更新值存储到数据库中。在我的servlet中,我获取这些值并转发到JSP,JSP将显示所选URL的更新值。我用过

 response.setHeader("Refresh","10;url="+request.getContextPath+"/SiteAvailabilityServlet");

在这里,我的JSP看起来像:在顶部框架中我有下拉列表。我选择一个URL并单击提交按钮一次。该选定选项(URL)的结果显示在底部框架中。第二次开始,页面将使用上面的setHeader(--)方法自动刷新更新的值应自动显示在底部框架中。在我的站点可用性Servlet中,我将选定的URL作为

  request.getParameter("urlsel");                                                                                                                  

第一次通过手动选择给我在JSP(浏览器)中正确选择的URL...但是当它在上面调用时

response.setHeader(----); 

为了自动刷新,它将urlsel设置为null,并且不显示更新的值。如何解决这个问题?请帮帮我。

即使我使用超文本标记语言,它也会从下拉列表中获取空值。
请帮帮我。

共有2个答案

帅博远
2023-03-14

尝试通过SiteAvailabilityServlet传递ursel参数

response.setHeader("Refresh","10;url="+request.getContextPath+"/SiteAvailabilityServlet?ursel="+urlsel);
娄嘉石
2023-03-14

如果我正确理解了您的问题,那么问题是您在第一次加载页面后丢失了请求参数。尝试将参数值包含到刷新url中,例如:

response.setHeader("Refresh","10;url="+request.getContextPath+"/SiteAvailabilityServlet?urlSel=" + valueProdivedDuringTheFirstCall);

因此,底部框架的servlet逻辑如下所示:

// parameter passed from top frame
final String parameterName = "urlsel";
// read the value
String url = request.getParameter(parameterName);

// business logic, e.g. reading the stats and populating 
// the scope values to be provided to the view

// provide url value as a parameter for refresh request
response.setHeader("Refresh","10;url="+request.getContextPath+"/SiteAvailabilityServlet?urlSel=" + url); 
 类似资料: