パラメータをサーブレットに渡す方法
-
04-07-2019 - |
質問
JSPのページのuseBeanからJavaのサーブレットにパラメーターを渡すにはどうすればよいですか?フォームには、送信ボタンで問題なく渡されるデータがありますが、他のデータを送信する方法はありません。助けてください?ここに私のコードがあります:
<input name = "deleteGameButton" type = "submit" value = "Delete"
onclick = "submitToServlet('DeleteGameServlet');">
対応するjavascriptは次のとおりです。
function submitToServlet(newAction)
{
document.userGameForm.action = newAction;
}
サーブレットにuserBeanにアクセスさせたい
<jsp:useBean id = "userBean" scope = "session" class = "org.project.User" />
解決
あなたはここで混乱しているようなものです。
onclick()はJavascriptであり、クライアント側で実行されます。セッションスコープBeanを更新する(直接の)方法はありません。そのBeanはサーバー側に残り、HTMLページが生成されたときに使用されました。パラメータをサーブレットに戻すには、古き良きフォームフィールドを使用して、フォームを送信する必要があります。
フォームにフィールドを追加し、送信する前に値を設定してから送信します。
サーブレット呼び出しrequest.getParameter(<!> quot; name <!> quot;);
PSこの種のことを自動化するには、ストラットを使用します。 :-) Strutsは、必要なことを正確に行います。パラメーターをアクションに渡す前に、それらのパラメーターをBeanに取り込みます。透過的に。
他のヒント
何をしようとしているかによって異なります。
<jsp:useBean id = "userBean" scope = "session" class = "org.project.User" />
タグを使用すると、jspでセッションのuserBean属性を使用できます。セッションにuserBean属性がない場合、新しい属性が作成され(org.project.Userのデフォルトコンストラクターを使用)、セッションに配置されます。
その後、サーブレットにアクセスすると、次の方法で取得できます。
User user = (User)request.getSession().getAttribute("userBean");
getServletConfig().getServletContext().getRequestDispatcher("servlet path & name");
dispatcher.forward (request, response);
こんにちは、次のタグを試してください:
<jsp:useBean id = "userBean" scope = "session" class = "org.project.User"/>
<jsp:setProperty name="beanName" property="propertyname" value="value"/>
</jsp:useBean>
more こちら
がんばって!