- - PR -
「jsp:forward」 タグの使い方について
1
| 投稿者 | 投稿内容 |
|---|---|
|
投稿日時: 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
