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

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

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

Oracleは、米オラクルが取り扱うリレーショナルデータベース管理システムです。メインフレームからPCまで、多様なプラットフォームに対応しています。

JSP

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

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

servlet

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

Q&A

解決済

2回答

9777閲覧

jspで入力する「生年月日」の入力形式について

k7023

総合スコア9

Oracle

Oracleは、米オラクルが取り扱うリレーショナルデータベース管理システムです。メインフレームからPCまで、多様なプラットフォームに対応しています。

JSP

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

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

servlet

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

0グッド

0クリップ

投稿2019/11/27 01:56

編集2019/11/27 01:56

「社員管理システム」というものを作成中でして、下の「登録」画面で「生年月日」を「YYYY/MM/DD」の形式で入力させる設計になっているのですが、この形式で入力すると以下画像のエラーとなります。ですが、「YYYY-MM-DD」の形式で入力すると正常に実装されます。どこを変えればよろしいでしょうか。
イメージ説明
イメージ説明

jsp

1regist_input.jsp 2<%@ page language="java" contentType="text/html; charset=UTF-8" 3 pageEncoding="UTF-8"%> 4<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 5<!DOCTYPE html> 6<html> 7<head> 8<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 9<link rel="stylesheet" href="<%=request.getContextPath()%>/css/layout.css"/> 10<link rel="stylesheet" href="<%=request.getContextPath()%>/css/style.css"/> 11<title>社員管理システム</title> 12</head> 13<body> 14 <header> 15 <div class="content"> 16 <div class="title">社員管理システム</div> 17 <div class="user_info"> 18 ようこそ、<a href="<%=request.getContextPath() %>/html/update/update_input.jsp">田中二郎</a>さん | <a href="../index.jsp">ログアウト</a> 19 </div> 20 </div> 21 </header> 22 23 <div class="content"> 24 <aside class="search"> 25 <div class="title">社員名検索</div> 26 <div class="form"> 27 <form action="<%=request.getContextPath() %>/SelectName" method="post"> 28 <input type="text" name="empName" /> 29 <input type="submit" value="検索" /> 30 </form> 31 </div> 32 <div class="title">部署名検索</div> 33 <div class="form"> 34 <form action="<%=request.getContextPath() %>/SelectDeptId" method="post"> 35 <select name="deptId"> 36 <option value="1" selected="selected">営業部</option> 37 <option value="2">経理部</option> 38 <option value="3">総務部</option> 39 </select> 40 <input type="submit" value="検索" /> 41 </form> 42 </div> 43 </aside> 44 45 <article> 46 <h3>社員登録確認画面</h3> 47 <div class="update"> 48 <div class="form"> 49 <div class="label">パスワード:</div> 50 <div class="input">※非表示</div> 51 </div> 52 <div class="form"> 53 <div class="label">社員名:</div> 54 <div class="input">${emp.empName}</div> 55 </div> 56 <div class="form"> 57 <div class="label">性別:</div> 58 <div class="input">${emp.gender}</div> 59 </div> 60 <div class="form"> 61 <div class="label">住所:</div> 62 <div class="input">${emp.address}</div> 63 </div> 64 <div class="form"> 65 <div class="label">生年月日:</div> 66 <div class="input">${emp.birthday}</div> 67 </div> 68 <div class="form"> 69 <div class="label">権限:</div> 70 <div class="input">${emp.authority}</div> 71 </div> 72 <div class="form"> 73 <div class="label">部署名:</div> 74 <div class="input">${emp.dept.deptName}</div> 75 </div> 76 <form action="<%=request.getContextPath() %>/Insert" method="post"> 77 <div class="form"> 78 <div class="label"></div> 79 <div class="input"> 80 <input type="hidden" name="empPass" value="${emp.empPass}" /> 81 <input type="hidden" name="empName" value="${emp.empName}" /> <input type="hidden" 82 name="gender" value="${emp.gender}" /> <input type="hidden" name="address" 83 value="${emp.address}" /> <input type="hidden" name="birthday" 84 value="${emp.birthday}" /> <input type="hidden" name="authority" 85 value="${emp.authority}" /> <input type="hidden" name="deptId" value="${emp.dept.deptId}" /> <input 86 type="submit" value="登録" /> 87 </div> 88 </div> 89 </form> 90 <form action="<%=request.getContextPath()%>/html/regist/regist_input.jsp"> 91 <div class="form"> 92 <div class="label"></div> 93 <div class="input"> 94 <input type="submit" value="戻る" /> 95 </div> 96 </div> 97 </form> 98 </div> 99 </article> 100 </div> 101 102 <footer>Copyright(C) 2017 System Shared co., ltd, ALL Rights Reserved</footer> 103</body> 104</html>

servlet

1package jp.co.sss.crud.servlet; 2 3import java.io.IOException; 4import java.sql.Date; 5 6import javax.servlet.ServletException; 7import javax.servlet.annotation.WebServlet; 8import javax.servlet.http.HttpServlet; 9import javax.servlet.http.HttpServletRequest; 10import javax.servlet.http.HttpServletResponse; 11 12import jp.co.sss.crud.bean.Dept; 13import jp.co.sss.crud.bean.Emp; 14import jp.co.sss.crud.db.DeptDao; 15import jp.co.sss.crud.db.EmpDao; 16 17@WebServlet("/Insert") 18public class Insert extends HttpServlet { 19 protected void doPost(HttpServletRequest request, HttpServletResponse response) 20 throws ServletException, IOException { 21 request.setCharacterEncoding("UTF-8"); 22 String empPass =request.getParameter("empPass"); 23 String empName =request.getParameter("empName"); 24 String gender =request.getParameter("gender"); 25 String address =request.getParameter("address"); 26 String birthday =request.getParameter("birthday"); 27 String authority =request.getParameter("authority"); 28 String deptId = request.getParameter("deptId"); 29 30 Dept dept = DeptDao.findById(deptId); 31 Emp emp = new Emp(); 32 emp.setEmpPass(empPass); 33 emp.setEmpName(empName); 34 emp.setGender(Integer.parseInt(gender)); 35 emp.setAddress(address); 36 emp.setBirthday(Date.valueOf(birthday)); 37 emp.setAuthority(Integer.parseInt(authority)); 38 emp.setDept(dept); 39 EmpDao.insert(emp); 40 request.getRequestDispatcher("/html/regist/regist_complete.jsp").forward(request, response); 41 } 42}

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

単純なのは、誕生日の文字列のスラッシュをハイフンに置換することですかね。

java

1 String birthday =request.getParameter("birthday").replace("/", "-");

投稿2019/11/27 02:11

swordone

総合スコア20651

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

k7023

2019/11/27 02:20 編集

試してみましたが、変換できていないようです。。 他の方法を調査します。
guest

0

ベストアンサー

(docs.oracle.com)Date valueOf()

public static Date valueOf(String s)

JDBC日付エスケープ形式の文字列をDate値に変換します。
パラメータ:
s - 形式「yyyy-[m]m-[d]d」で日付を表すStringオブジェクト。mmとddの先頭のゼロは省略できます。

なので、birthday.replace("/","-")として、/-に置き換えするのではどうでしょう。

一番いいのは「きちんと変換する」ですが。

java

1SimpleDateFormat fmt = new SimpleDateFormat("yyyy/MM/dd"); 2fmt.parse(birthday);

投稿2019/11/27 02:09

編集2019/11/27 02:24
Y.H.

総合スコア7914

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

k7023

2019/11/27 02:23

ありがとうございます。 replaceではなぜかなりませんでしたが、 下の方法で解決しました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問