我有一个带下拉框的JSP。我选择一个选项并提交。现在,我得到了存储在该选定选项数据库中的信息。现在,我通过在servlet中设置为自动刷新JSP(HTML页面)

//servlet code inside doGet() method
HttpSession session=request.getSession();
String selUrl=request.getParameter("urlsel");
String opt=session.setAttribute("selectedUrl",selUrl);
String selopt=session.getAttribute("selectedUrl");
response.setHeader("Refresh","10;url="/SiteAvailabilityServlet?ursel="+selectedUrl);
//and forwarding request to result.jsp using RequestDispatcher..


//input.jsp代码

<select name="urlsel">
<option value="abc">abc</option>
<option value="def">def</option>
</select>


当我第一次选择说abc并手动提交时,它给了我正确的结果并显示了数据库中的详细信息。
10秒后,将使用相同的选项abc(我不想更改该选项)自动刷新,但不显示值。它正在

  request.getParameter("urlsel")    as null  after refreshing automatically.


请帮我。在result.jsp我正在使用

 <form method="get" action="/SiteAvaialabilityServlet">

最佳答案

我认为,如果您替换以下行,您的代码应该可以运行:

response.setHeader("Refresh","10;url="/SiteAvailabilityServlet?ursel="+selectedUrl);


有了这个 :

response.setHeader("Refresh","10;url=/SiteAvailabilityServlet?urlsel="+ selopt);


改变的是:


"已从标头中的URL删除,我不知道为什么应该在其中;
urlsel不是ursel;
为什么selectedUrl?它是会话属性的名称,您想要的是会话属性的值。由于具有(selopt),因此您可能只想使用它。


就这一行而言,您可能希望更好地处理HTML,其中缺少"

<form method="get" action="/SiteAvaialabilityServlet>


因此,将其替换为:

<form method="get" action="/SiteAvaialabilityServlet">


希望所有这些错别字都不在您的原始代码中。

附注:请更正您问题中的代码,以帮助所有人:)。

祝你好运。

10-07 12:57
查看更多