JSP、Servletをつかって社員の登録ページを作成しました。
JSP画面にある左側の表に情報を入力すると、右の登録票に情報が追加されるというものです。Javabeansから初期情報を得る仕様にしました。
しかし、私が作成したプログラムでは初期情報の登録はできるものの、新規(register)、更新(renew)、削除(delete)ができません。どのように修正すればよいでしょうか?
・左の入力エリアにデータを入力し、新規を押すとデータが右の一覧に登録される。
・右の表のラジオボタンをクリックすると、その行のデータが入力エリアに反映
され、値を変更して更新ボタンを押すとそれが適用される。
・右の表のラジオボタンを選択して削除ボタンを押すと、一覧に表示されなくなる。
-----JSP-----
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="java.util.*" %>
<%@ page import="entry.EmployeeBean" %>
<html> <title>EMP表</title><% ArrayList<EmployeeBean> empTable = (ArrayList<EmployeeBean>)
request.getAttribute("employeeTable"); %>
<%
request.setCharacterEncoding("utf-8");
%>
<%
for (int i = 0; i < empTable.size(); i++) {
EmployeeBean employeeBean = empTable.get(i);
String syainNo = employeeBean.getEmployeeNo();
String syainName = employeeBean.getEmployeeName();
String jobClass = employeeBean.getJob();
String manager = employeeBean.getManager();
String start = employeeBean.getHireDate();
double salary = employeeBean.getSalary();
double rate = employeeBean.getCommission();
int busyoNo = employeeBean.getDepartmentNo();
%>
<%
}
%>
-----Servlet-----
package entry;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
- Servlet implementation class Emp3
*/
@WebServlet("/Emp3")
public class Emp3 extends HttpServlet {
private static final long serialVersionUID = 1L;
private ArrayList<EmployeeBean> employeeTable;
/** * @see HttpServlet#HttpServlet() */ public Emp3() { super(); } /** * @see javax.servlet.GenericServlet#init() */ public void init() throws ServletException{ // 表の作成 createEmployeeTable(); } /** * @see HttpServlet#doGet(HttpServletRequest request,
HttpServletResponse
* response)
*/
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException,
IOException {
request.setAttribute("employeeTable", employeeTable); ServletContext context = this.getServletContext(); RequestDispatcher dispatcher =
context.getRequestDispatcher("/Emp3.jsp");
dispatcher.forward(request, response);
} /** * @see HttpServlet#doPost(HttpServletRequest request,
HttpServletResponse
* response)
*/
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException,
IOException {
request.setAttribute("employeeTable", employeeTable); ServletContext context = this.getServletContext(); RequestDispatcher dispatcher =
context.getRequestDispatcher("/Emp3.jsp");
dispatcher.forward(request, response);
} protected void createEmployeeTable() { employeeTable = new ArrayList<EmployeeBean>(); // employee1 EmployeeBean employee1 = new EmployeeBean(); employee1.setEmployeeNo("7369"); employee1.setEmployeeName("SMITH"); employee1.setJob("CLERK"); employee1.setManager("7902"); employee1.setHireDate("1980/12/17"); employee1.setSalary(400); employee1.setCommission(0); employee1.setDepartmentNo(10); employeeTable.add(employee1); // employee2 EmployeeBean employee2 = new EmployeeBean(); employee2.setEmployeeNo("7499"); employee2.setEmployeeName("HELEN"); employee2.setJob("SALESMAN"); employee2.setManager("7839"); employee2.setHireDate("1981/02/22"); employee2.setSalary(400); employee2.setCommission(300); employee2.setDepartmentNo(30); employeeTable.add(employee2); // employee3 EmployeeBean employee3 = new EmployeeBean(); employee3.setEmployeeNo("7521"); employee3.setEmployeeName("WORD"); employee3.setJob("SALESMAN"); employee3.setManager("7698"); employee3.setHireDate("1981/02/22"); employee3.setSalary(125); employee3.setCommission(500); employee3.setDepartmentNo(30); employeeTable.add(employee3); }
}
-----javabeans-----
package entry;
public class EmployeeBean implements Comparable<EmployeeBean>{
private String employeeNo; private String employeeName; private String job; private String manager; private String hireDate; private double salary; private double commission; private int departmentNo; public String getEmployeeNo() { return this.employeeNo; } public void setEmployeeNo(String employeeNo) { this.employeeNo = employeeNo; } public String getEmployeeName() { return this.employeeName; } public void setEmployeeName(String employeeName) { this.employeeName = employeeName; } public String getJob() { return this.job; } public void setJob(String job) { this.job = job; } public String getManager() { return this.manager; } public void setManager(String manager) { this.manager = manager; } public String getHireDate() { return this.hireDate; } public void setHireDate(String hireDate) { this.hireDate = hireDate; } public double getSalary() { return this.salary; } public void setSalary(double salary) { this.salary = salary; } public double getCommission() { return this.commission; } public void setCommission(double commission) { this.commission = commission; } public int getDepartmentNo() { return this.departmentNo; } public void setDepartmentNo(int departmentNo) { this.departmentNo = departmentNo; } public int compareTo(EmployeeBean employee) { return this.employeeNo.compareTo(employee.getEmployeeNo()); }
}
・左の入力エリアにデータを入力し、新規を押すとデータが右の一覧に登録される。
・右の表のラジオボタンをクリックすると、その行のデータが入力エリアに反映
され、値を変更して更新ボタンを押すとそれが適用される。
・右の表のラジオボタンを選択して削除ボタンを押すと、一覧に表示されなくなる。
よろしくお願いいたします。
あなたの回答
tips
プレビュー