1

私の Java Web アプリケーションでは、サーブレット (コントローラー) と JSP (ビュー) と POJO クラスを使用しました。10 秒ごとにアプリケーションを実行し、ドロップダウン リストから選択した URL の更新された値をデータベースに保存しています。私のサーブレットでは、これらの値をフェッチして、選択した URL の更新された値を表示する JSP に転送しています。使った

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

ここで私の JSP は次のようになります。 上部のフレームには、ドロップダウン リストがあります。URL を 1 つ選択し、送信ボタンを 1 回クリックします。そして、その選択したオプション(URL)の結果が下のフレームに表示されます。2 回目以降は、上記のsetHeader(--)方法を使用してページが自動的に更新され、更新された値が自動的に下のフレームに表示されます。私のSiteAvailabilityServletでは、選択した URL を 次のように取得しています

  request.getParameter("urlsel");                                                                                                                  

手動で選択することで、JSP(ブラウザ)で初めて正しい選択されたURLを教えてくれます..しかし、上記を呼び出すと

response.setHeader(----); 

自動的に更新するために、urlselを null として取得し、更新された値を表示しません。この問題を解決するには?私を助けてください。

HTML メタ タグを使用しても、ドロップダウン リストから null 値が取得されます。
私を助けてください。

4

2 に答える 2

1

私があなたの質問を正しく理解していれば、最初にページを読み込んだ後にリクエストパラメータが失われていることが問題です. パラメーター値を更新 URL に含めてみてください。たとえば、次のようになります。

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

したがって、下のフレームのサーブレット ロジックは次のようになります。

// 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); 
于 2013-06-24T08:06:08.723 に答える
1

SiteAvailabilityServlet でurselパラメータを渡してみてください

response.setHeader("Refresh","10;url="+request.getContextPath+"/SiteAvailabilityServlet?ursel="+urlsel);
于 2013-06-24T07:23:47.250 に答える