私はJavaEEを初めて使用し、複数のメソッドを持つサーブレットに関するクエリを持っています。単一のサーブレットを使用した複数のメソッド呼び出し
JSPの "Submit
"ボタンをクリックすると、サーブレット上で特定のメソッドを呼び出す方法を知りたいですか?
誰かがHTML hidden fields
を使用することを提案しましたが、私はJspでそれらを実装する方法について考えていません。
私はJavaEEを初めて使用し、複数のメソッドを持つサーブレットに関するクエリを持っています。単一のサーブレットを使用した複数のメソッド呼び出し
JSPの "Submit
"ボタンをクリックすると、サーブレット上で特定のメソッドを呼び出す方法を知りたいですか?
誰かがHTML hidden fields
を使用することを提案しましたが、私はJspでそれらを実装する方法について考えていません。
を行うことができますあなただけの送信ボタンに特定の名前を付けることができます。
<input type="submit" name="action1" value="Invoke action 1" />
<input type="submit" name="action2" value="Invoke action 2" />
<input type="submit" name="action3" value="Invoke action 3" />
押されたボタンの名前と値のペアは、通常の方法でリクエストパラメータとして使用できます。
私たちは、3つのボタンを持つことが、ロジックの基礎最適なソリューションであるとパラメータ方法が求められ、ことができると信じてと思ういけない
if (request.getParameter("action1") != null) {
// Invoke action 1.
}
else if (request.getParameter("action2") != null) {
// Invoke action 2.
}
else if (request.getParameter("action3") != null) {
// Invoke action 3.
}
どのメソッドを呼び出すかによって異なります。ちょうどフォームを使用し、doPost
についてURL
http://localhost:8080/myservlet?name=value
を使用し、doGet
については
、web.xml
でサーブレットに対して宣言URLパターンが/myservlet*
であると仮定すると。 JSPで
<form action="/myservlet" method="post">
<input type="text" value="value" name="name" />
</form>
隠しフィールドはHTMLの場合と同じである:
<input type="hidden" name="name" value="value">
は、その後、あなたのサーブレットであなたは
if (request.getParameter("name").equals("value")) { /* do something */ }
javascript-
を介して異なるアクションにアクセスする2つのメソッドを持つことができます。1)ユーザーから値を取得し、javascriptでチェックします。
2)ユーザから値を取得し、JavaScriptでチェックし、それに応じて値を隠し変数に割り当て、サーブレットを呼び出して、それらの隠し値を使用します.iはmethod1を精緻化しました。
<html>
<head>
<script type="text/javascript">
function nawab() {
param = document.getElementById('param1').value;
alert('in nawab');
if (param != "") {
if (param === 'abc') {
alert('abc');
document.forms[0].action = "nawabServlet";
document.forms[0].submit();
}
if (param === 'def') {
alert('def');
document.forms[0].action = "nawabServlet2";
document.forms[0].submit();
}
}
else{
alert('empty');
document.forms[0].action = "nawabServlet";
document.forms[0].submit();
}
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>nawab has come</title>
</head>
<body>
<form>
param1:<input type="text" name="param1" id="param1"></select>
<input type="submit" onclick="nawab()">
</form>
</body>
</html>