java - 我的 JSP 未使用 servlet 中的刷新 header 从数据库获取更新值

标签 java html jsp servlets

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

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

我的 JSP 如下所示: 在顶部框架中,我有下拉列表。我选择一个 URL,然后单击“提交”按钮一次。所选选项(URL)的结果显示在底部框架中。第二次之后,页面将使用上面的 setHeader(--) 方法自动刷新,更新的值应自动显示在底部框架中。在我的 SiteAvailabilityServlet 中,我获取的选定 URL 为

  request.getParameter("urlsel");                                                                                                                  

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

response.setHeader(----); 

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

即使我使用 HTML 元标记,它也会从下拉列表中获取空值。
请帮助我。

最佳答案

如果我正确理解你的问题,那么问题是你在第一次加载页面后丢失了请求参数。尝试在刷新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); 

关于java - 我的 JSP 未使用 servlet 中的刷新 header 从数据库获取更新值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17269441/

相关文章:

java - Displaytag JSP 错误 - "Can not find tag library descriptor"

java - 根据另一个下拉列表选择填充下拉列表

java - 如果省略时区,Joda Time : Parse string and override time zone,

java - Netbean 的 Swing Extensions Library 和 javax.swing 有区别吗?

java - 如何使用PEMWriter导出.req文件?

javascript - 具有多个属性的可克隆文件输入

java - 提交表单时出错:Data truncation: Incorrect datetime

java - 如何指定本地服务器的完整IP地址?

javascript - 使用 AVIF 图像格式从 Canvas 创建图像

javascript - 搜索 youtube 并在我的网站上显示结果