dポイントプレゼントキャンペーン実施中!

java初心者です。
添付ファイルのようなシフト表をサーブレットで作成しようとしていますが
画像の赤枠の部分のロジックを組むことが出来ないのでご教授頂きたいです。
やりたい事は勤務時間を直接入力させて反映させたいと思っています。

スケジュール自体は他のサイトを参考に作成しました。
現状のソースを記載します。よろ
■jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@page isELIgnored="false"%>


<html lang="ja">
<head>
<meta http-equiv="Content-Type" Content="text/html;charset=Shift_JIS">

<title><h1>月間シフト</h1></title>

</head>
<body>

<h1>月間シフト</h1>

<p><a href="/schedule/MonthView">月一覧表の表示</a></p>

</body>
</html>

■サーブレット
import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet(urlPatterns = { "/shejule" })
public class MonthView1 extends HttpServlet{

public void doGet(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException{

res.setContentType("text/html;charset=Shift_Jis");
PrintWriter out = res.getWriter();

StringBuffer sb = new StringBuffer();

sb.append("<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.0.1//EN\" \"http://www.w3.org/TR/html4/strict.dtd\">");

sb.append("<html lang=\"ja\">");
sb.append("<head>");
sb.append("<meta http-equiv=\"Content-Type\" Content=\"text/html;charset=Shift_JIS\">");

sb.append("<title>月間シフト</title>");

sb.append("<style>");
sb.append("table{border:1px solid #a9a9a9;width:90%;padding:0px;margin:0px;border-collapse:collapse;}");
sb.append("td{width:12%;border-top:1px solid #a9a9a9;border-left:1px solid #a9a9a9;vertical-align:top;margin:0px;padding:5px;}");
sb.append("td.week{background-color:#f0f8ff;text-align:center;}");
sb.append("td.day{background-color:#f5f5f5;text-align:right;font-size:0.75em;}");
sb.append("td.otherday{background-color:#f5f5f5;color:#d3d3d3;text-align:right;font-size:0.75em;}");
sb.append("td.sche{background-color:#fffffff;text-align:left;height:10px;}");
sb.append("img{border:0px;}");
sb.append("h1{text-align:center}");
sb.append("p{font-size:0.75em;}");
sb.append("</style>");

sb.append("</head>");
sb.append("<body>");

sb.append("<p>2016年08月 <h1>月間シフト</h1></p>");

sb.append("<table>");

sb.append("<tr><td class=\"week\">氏名\曜日</td><td class=\"week\">月</td><td class=\"week\">火</td><td class=\"week\">水</td><td class=\"week\">木</td><td class=\"week\">金</td><td class=\"week\">土</td><td class=\"week\">日</td></tr>");

sb.append("<tr><td class=\"week\">日付</td><td class=\"day\">1</td><td class=\"day\">2</td><td class=\"day\">3</td><td class=\"day\">4</td><td class=\"day\">5</td><td class=\"day\">6</td><td class=\"day\">7</td></tr>");
sb.append(createScheduleStr());
sb.append(createScheduleStr());

sb.append("<tr><td class=\"week\">氏名\2週</td><td class=\"day\">8</td><td class=\"day\">9</td><td class=\"day\">10</td><td class=\"day\">11</td><td class=\"day\">12</td><td class=\"day\">13</td><td class=\"day\">14</td></tr>");
sb.append(createScheduleStr());

sb.append("<tr><td class=\"week\">氏名\3週</td><td class=\"day\">15</td><td class=\"day\">16</td><td class=\"day\">17</td><td class=\"day\">18</td><td class=\"day\">19</td><td class=\"day\">20</td><td class=\"day\">21</td></tr>");
sb.append(createScheduleStr());
sb.append("</table>");

sb.append("</body>");
sb.append("</html>");

out.println(new String(sb));
}

protected String createScheduleStr(){
StringBuffer sb = new StringBuffer();

sb.append("<tr>");
for (int i = 0 ; i < 8 ; i++){
sb.append("<td class=\"sche\"><img src=\"./img/memo.png\" width=\"14\" height=\"16\"></td>");
}
sb.append("</tr>");

return (new String(sb));
}
}

「サーブレットjspで勤怠スケジュールを作」の質問画像

A 回答 (1件)

今時サーブレットに直にHTML吐かせるのはどうかと思いますが


それは置いといて、シフト表のデータをどうやって保持するか
考えてます?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!