質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
JSP

JSP(Java Server Pages)とは、ウェブアプリケーションの表示レイヤーに使われるサーバーサイドの技術のことです。

servlet

Servletとは、Webページの動的な生成やデータ処理などをサーバ上で実行するために、Javaで作成されたプログラムです。 ショッピングサイトやオンラインバンキングといった、動的なウェブサイトの構築に用いられています。

解決済

JSPでテーブルをラジオボタンで選択して削除したいのですが

退会済みユーザー

退会済みユーザー

総合スコア0

JSP

JSP(Java Server Pages)とは、ウェブアプリケーションの表示レイヤーに使われるサーバーサイドの技術のことです。

servlet

Servletとは、Webページの動的な生成やデータ処理などをサーバ上で実行するために、Javaで作成されたプログラムです。 ショッピングサイトやオンラインバンキングといった、動的なウェブサイトの構築に用いられています。

1回答

0評価

0クリップ

71727閲覧

投稿2017/07/27 04:06

一覧画面(employeelist.jsp)でDBからテーブルを表示し、
そのテーブルをラジオボタンで選択した行だけを削除したいのですが、
削除ボタンを押してDeleteServletで以下の処理を記述したのですが
下記のエラーが出てしまい、原因がわかりません、どう対処すれば良いでしょうか。

よろしくお願いします。

【エラー】
HTTPステータス 500 - com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '0,1' at line 1

【employeelist.jsp】

<%@ page import="java.util.List,kadai.Tableclass" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>社員一覧</title> </head> <body> <h2>社員一覧</h2> <table border="1"> <tr bgcolor="#afeeee"> <th></th> <th>社員コード</th> <th>氏名</th> <th>氏名カナ</th> <th>性別</th> <th>役職名</th> <th>所属部署名</th> <th>在職情報</th> <form action="UpdateServlet" id="form" name="form"> <c:forEach var="item" items="${list}" varStatus="num"> <tr> <td><input type="radio" name="radio" value="${num.index}"></td> <td>${item.s_id}</td> <td>${item.name }</td> <td>${item.name_kana }</td> <td>${item.sex }</td> <td>${item.clas }</td> <td>${item.depart_name }</td> <td>${item.retired }</td> </tr> </c:forEach> </table> <input type="submit" value="削除" onclick="goServlet();"> <!-- header.jsp --> <input type="button" value="登録" onclick="location.href='DepartServlet'"> <input type="button" value="更新" > <input type="button" value="戻る" onclick="location.href='kintaikanrisystem.jsp'"> </form> </body> </html>

【header.jsp】

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <title>勤怠管理システム</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <html> <head> <script type="text/javascript"> function goServlet(){ document.getElementById('form').action="DeleteServlet"; } window.onload=function(){ var co=document.getElementsByName("radio"); co[0].checked=true; } </script> <body> <hr color="#0000FF"> <h2 style="color:#FF0000">${message1}</h2> <h2 style="color:#FF0000">${message2}</h2> </body> </head> <body> </html>

【DeleteServlet】

package kadai; import java.io.IOException; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * Servlet implementation class DeleteServlet */ public class DeleteServlet extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public DeleteServlet() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("UTF-8"); response.setContentType("text/html:charset=UTF-8"); Connection con =null; Statement smt=null; try{ con=DBManager.getConnection(); smt=con.createStatement(); String nu=null; nu=request.getParameter("radio"); int num=Integer.parseInt(nu); String sql="SELECT s_id,l_name,f_name,l_name_kana,f_name_kana,sex,class,depart.depart_name,retired FROM employee INNER JOIN depart ON depart.depart_id = employee.depart_id "+num+","+1; ResultSet rs =smt.executeQuery(sql); String str=null; while(rs.next()){ str=rs.getString("S_id"); } String sq="delete from employee where s_id='"+str+"'"; int in =smt.executeUpdate(sq); }catch(SQLException e){ throw new ServletException(e); }finally{ if(smt != null){ try{smt.close();}catch(SQLException ignore){} }if(smt != null){ try{con.close();}catch(SQLException ignore){} } } request.getRequestDispatcher("KintaikanrisystemServlet").forward(request,response); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub doGet(request, response); } }

【web.xml】

<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:jsp="http://java.sun.com/xml/ns/javaee/jsp" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <jsp-config> <jsp-property-group> <url-pattern>*.jsp</url-pattern> <include-prelude>/header.jsp</include-prelude> <include-coda>/footer.jsp</include-coda> </jsp-property-group> </jsp-config> <servlet> <servlet-name>KintaikanrisystemServlet</servlet-name> <servlet-class>kadai.KintaikanrisystemServlet</servlet-class> </servlet> <servlet> <servlet-name>DeleteServlet</servlet-name> <servlet-class>kadai.DeleteServlet</servlet-class> </servlet> <servlet> <servlet-name>EntryServlet</servlet-name> <servlet-class>kadai.EntryServlet</servlet-class> </servlet> <servlet> <servlet-name>DepartServlet</servlet-name> <servlet-class>kadai.DepartServlet</servlet-class> </servlet> <servlet> <servlet-name>UpdateServlet</servlet-name> <servlet-class>kadai.UpdateServlet</servlet-class> </servlet> <servlet> <servlet-name>UpdateDeparyServlet</servlet-name> <servlet-class>kadai.UpdateDeparyServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>KintaikanrisystemServlet</servlet-name> <url-pattern>/KintaikanrisystemServlet</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>DeleteServlet</servlet-name> <url-pattern>/DeleteServlet</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>EntryServlet</servlet-name> <url-pattern>/EntryServlet</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>DepartServlet</servlet-name> <url-pattern>/DepartServlet</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>UpdateServlet</servlet-name> <url-pattern>/UpdateServlet</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>UpdateDeparyServlet</servlet-name> <url-pattern>/UpdateDeparyServlet</url-pattern> </servlet-mapping> </web-app>

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

JSP

JSP(Java Server Pages)とは、ウェブアプリケーションの表示レイヤーに使われるサーバーサイドの技術のことです。

servlet

Servletとは、Webページの動的な生成やデータ処理などをサーバ上で実行するために、Javaで作成されたプログラムです。 ショッピングサイトやオンラインバンキングといった、動的なウェブサイトの構築に用いられています。