前提・実現したいこと
現在開発しているWebアプリケーションで、table内に表示される変数とthタグ内のループ処理で
<%
for (int i =0; i<31; i++){
out.println("<th class='date' colspan='4'>" + "1月"+(i+1)+"日" + "</th>");
%>
としているのですが、このクラス名として指定したdateと変数を比べることは出来るのでしょうか?
出来る場合どのようなタグを使えば良いかなど教えて頂きたいです。
例
dateに "1月5日" が入ってる場合、
formにある、日付を含め、出発地点や到着地点の情報をフォームに入力し、(下記)
データベース(MySQL)に送信して、データベース内のtask_dateカラムに"1月5日"が入っているデータを取得し、
サーブレットで呼び出してビューに送るという流れを作りたい。
_form.jsp
<form method="GET" action = "DispatchCreateServlet.java">
<label for="task_date">日付</label>
<br />
<input type="date" name="task_date" value="<fmt:formatDate value='${trucks.task_date}' pattern='M月d日' />" />
<!--以降、出発地点や到着地点のformが記述してある-->
<input type="hidden" name="_token" value="${_token}" />
<button type="submit">登録</button>
</form>
models.Trucks.java
package models;
import java.sql.Date;
import java.sql.Time;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
@Table(name = "trucks")
@NamedQueries({
@NamedQuery(
name = "getAllTrucks",
query = "SELECT t FROM Trucks AS t"
),
@NamedQuery(
name = "getTrucksCount",
query = "SELECT COUNT(t) FROM Trucks AS t"
),
})
@Entity
public class Trucks{
@Id
@Column(name = "id")
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
@Column(name = "task_date", nullable = true)
private Date task_date;
@Column(name = "task_time", nullable = true)
private Time task_time;
@Column(name = "task_type", nullable = true)
private String task_type;
@Column(name = "office_name", nullable = true)
private String office_name;
@Column(name = "truck_code", nullable = true)
private String truck_code;
@Column(name = "stack_area", nullable = true)
private String stack_area;
@Column(name = "wholesale_area", nullable = true)
private String wholesale_area;
@Column(name = "truck_type", nullable = true)
private String truck_type;
@Column(name = "wa_time", nullable = true)
private String wa_time;
@Column(name = "sa_time", nullable = true)
private String sa_time;
@Column(name = "e_stack_area", nullable = true)
private String e_stack_area;
@Column(name = "m_wholesale_area", nullable = true)
private String m_wholesale_area;
@Column(name = "mw_time", nullable = true)
private String mw_time;
@Column(name = "es_time", nullable = true)
private String es_time;
@Column(name = "mw_text", nullable = true)
private String mw_text;
@Column(name = "mw_select", nullable = true)
private String mw_select;
public Date getTask_date() {
return task_date;
}
public void setTask_date(Date task_date) {
this.task_date = task_date;
}
<!--以降、DBに登録しているカラム全て同じ処理を繰り返す-->
DispatchIndexServlet.java
import java.sql.Date;
import java.sql.Time;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
@Table(name = "trucks")
@NamedQueries({
@NamedQuery(
name = "getAllTrucks",
query = "SELECT t FROM Trucks AS t"
),
@NamedQuery(
name = "getTrucksCount",
query = "SELECT COUNT(t) FROM Trucks AS t"
),
})
@Entity
public class Trucks{
@Id
@Column(name = "id")
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
@Column(name = "task_date", nullable = true)
private Date task_date;
@Column(name = "task_time", nullable = true)
private Time task_time;
@Column(name = "task_type", nullable = true)
private String task_type;
@Column(name = "office_name", nullable = true)
private String office_name;
@Column(name = "truck_code", nullable = true)
private String truck_code;
@Column(name = "stack_area", nullable = true)
private String stack_area;
@Column(name = "wholesale_area", nullable = true)
private String wholesale_area;
@Column(name = "truck_type", nullable = true)
private String truck_type;
@Column(name = "wa_time", nullable = true)
private String wa_time;
@Column(name = "sa_time", nullable = true)
private String sa_time;
@Column(name = "e_stack_area", nullable = true)
private String e_stack_area;
@Column(name = "m_wholesale_area", nullable = true)
private String m_wholesale_area;
@Column(name = "mw_time", nullable = true)
private String mw_time;
@Column(name = "es_time", nullable = true)
private String es_time;
@Column(name = "mw_text", nullable = true)
private String mw_text;
@Column(name = "mw_select", nullable = true)
private String mw_select;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public Date getTask_date() {
return task_date;
}
public void setTask_date(Date task_date) {
this.task_date = task_date;
}
public Time getTask_time() {
return task_time;
}
public void setTask_time(Time task_time) {
this.task_time = task_time;
}
public String getOffice_name() {
return office_name;
}
public void setOffice_name(String office_name) {
this.office_name = office_name;
}
public String getTask_type(){
return task_type;
}
public void setTask_type(String task_type){
this.task_type = task_type;
}
public String getTruck_code() {
return truck_code;
}
public void setTruck_code(String truck_code) {
this.truck_code = truck_code;
}
public String getStack_area() {
return stack_area;
}
public void setStack_area(String stack_area) {
this.stack_area = stack_area;
}
public String getWholesale_area() {
return wholesale_area;
}
public void setWholesale_area(String wholesale_area) {
this.wholesale_area = wholesale_area;
}
public String getTruck_type() {
return truck_type;
}
public void setTruck_type(String truck_type) {
this.truck_type = truck_type;
}
public String getWa_time() {
return wa_time;
}
public void setWa_time(String wa_time) {
this.wa_time = wa_time;
}
public String getSa_time() {
return sa_time;
}
public void setSa_time(String sa_time) {
this.sa_time = sa_time;
}
public String getE_stack_area() {
return e_stack_area;
}
public void setE_stack_area(String e_stack_area) {
this.e_stack_area = e_stack_area;
}
public String getM_wholesale_area() {
return m_wholesale_area;
}
public void setM_wholesale_area(String m_wholesale_area) {
this.m_wholesale_area = m_wholesale_area;
}
public String getMw_time() {
return mw_time;
}
public void setMw_time(String mw_time) {
this.mw_time = mw_time;
}
public String getEs_time() {
return es_time;
}
public void setEs_time(String es_time) {
this.es_time = es_time;
}
public String getMw_text() {
return mw_text;
}
public void setMw_text(String mw_text) {
this.mw_text = mw_text;
}
public String getMw_select() {
return mw_select;
}
public void setMw_select(String mw_select) {
this.mw_select = mw_select;
}
}
試したこと
</thead>
<c:if test="${Trucks.task_date == date}" var="flg"/>
<c:if test="${flg}">
<c:forEach var="trucks" items="${trucks}" varStatus="status">
<tbody>
(中略)
</tbody>
</c:forEach>
</c:if>
<c:if test="${!flg}">
<c:if test="${flg==null}">
<div id="flush_error">
入力内容にエラーがあります。<br />
<c:out value="${error}" /><br />
</div>
</c:if>
</c:if>
</table>
上記のように<c:ifでは出来ないかやってみました。
期待した結果は得られていません。
-
気になる質問をクリップする
クリップした質問は、後からいつでもマイページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
クリップを取り消します
-
良い質問の評価を上げる
以下のような質問は評価を上げましょう
- 質問内容が明確
- 自分も答えを知りたい
- 質問者以外のユーザにも役立つ
評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。
質問の評価を上げたことを取り消します
-
評価を下げられる数の上限に達しました
評価を下げることができません
- 1日5回まで評価を下げられます
- 1日に1ユーザに対して2回まで評価を下げられます
質問の評価を下げる
teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。
- プログラミングに関係のない質問
- やってほしいことだけを記載した丸投げの質問
- 問題・課題が含まれていない質問
- 意図的に内容が抹消された質問
- 過去に投稿した質問と同じ内容の質問
- 広告と受け取られるような投稿
評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。
質問の評価を下げたことを取り消します
この機能は開放されていません
評価を下げる条件を満たしてません
質問の評価を下げる機能の利用条件
この機能を利用するためには、以下の事項を行う必要があります。
- 質問回答など一定の行動
-
メールアドレスの認証
メールアドレスの認証
-
質問評価に関するヘルプページの閲覧
質問評価に関するヘルプページの閲覧
まだ回答がついていません
15分調べてもわからないことは、teratailで質問しよう!
- ただいまの回答率 88.19%
- 質問をまとめることで、思考を整理して素早く解決
- テンプレート機能で、簡単に質問をまとめられる
質問への追記・修正の依頼
m.ts10806
2021/01/22 13:51 編集
この質問の仕方からすると「できる」だけでいいですよね。
単にロジックの問題でしょうけど
m.ts10806
2021/01/22 13:59
>このクラス名として指定したdateと変数を比べる
ここがいろんな意味で不明。
具体的な値で例示を。
データをどこにどのように持っていてどういう取得の仕方をしていて、どういう出力をモックでは想定しているのか
まで書いて、はじめて他人が答えられます。断片的な情報からは何にも答えようがないです
K_3578
2021/01/22 14:09
m.ts10806様 コメントありがとうございます。
説明不足でした。追記致します。