- PR -

「jsp:forward」 タグの使い方について

1
投稿者投稿内容
matchie
会議室デビュー日: 2003/09/19
投稿数: 4
投稿日時: 2003-12-29 17:33
JSPからサーブレットを変数付きで呼び出したいのですが、
http://p2p.wrox.com/archive/beginning_jsp/2002-09/15.asp
にもあるように、
org.apache.jasper.JasperException: /set_File.jsp(278,3) Expected "param" tag
with "name" and "value" attributes without the "params" tag.
というエラーが出てしまいます。
JSPからの呼び出しは(サーブレットはcommandといい、Linuxコマンドを実行するものです)
<jsp:forward page="/command" >
<jsp:param name="number" value="2" />
</jsp:forward>
としており、commandサーブレット
-------ここから-------
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;

public class command extends HttpServlet implements Runnable {

private StringWriter swriter;
private PrintWriter pwriter;
private BufferedReader breader;

//HTTP Get リクエストの処理
public void doGet(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {
String number=req.getParameter("number");
res.setContentType("text/html; charset=\\\\"iso-2022-jp\\\\"");
PrintWriter out = res.getWriter();

out.println("<html>");
out.println("<head><title>ping</title></head>");
out.println("<body>");
out.println("number=");
out.println(number);

// pingコマンドの実行
Runtime rt = Runtime.getRuntime();
Process proc = rt.exec("/bin/ping -"+ number +" (・・ip-address・・)");

// pingコマンドの出力
breader = new BufferedReader(
new InputStreamReader(
proc.getInputStream()));

swriter = new StringWriter();
pwriter = new PrintWriter(swriter);

Thread th = new Thread(this);
th.start();

try {
th.join();
} catch (InterruptedException ex) {
}

breader.close();
pwriter.close();

out.println("<pre>");
out.println(swriter.toString());
out.println("</pre>");
out.println("</body></html>");
out.close();
}

public void run() {
String line;
try {
while ((line = breader.readLine()) != null) {
pwriter.println(line);
breader.readLine();
}
} catch (IOException ex) {
}
}
ServletContext sc = getServletContext();
sc.getRequestDispatcher("index.jsp").forward(req, res);
}
-------ここまで-------

サーブレットを呼ぶだけの簡単なJSP
-------ここから-------
<%@ page contentType="text/html; charset=Shift_JIS" %>
<html>
<head>
<title>callServlet</title>
</head>
<body>
<jsp:forward page="/command" >
<jsp:param name="number" value="2" />
</jsp:forward>
</body>
</html>
-------ここまで-------
では実行できたのですが、サーブレットを呼び出すJSPによって
冒頭のようなエラーが発生してしまいます。

どなたか問題解決のヒントをいただけますでしょうか?
1

スキルアップ/キャリアアップ(JOB@IT)