java - html + Java | 从输入类型 =“时间”接收 0
问题描述
我正在尝试制作一个 webApp,您应该在其中选择您醒来的时间。我正在使用 Spring,Thymeleaf 作为我的 java 和 html 之间的连接器。但无论我选择什么时间,它都会返回 0。
我的 StartDay 课程:
/* ----------------------------
| StartDay Class |
------------------------------ */
@Entity
@Table(name = "start_day")
public class StartDay {
@Id @GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "start_day_id")
private int startDayId;
@Column(name = "age_in_days", nullable = false)
private int ageInDays;
@Column(name = "day_created", nullable = false)
private String dayCreated;
@Column(name = "username", nullable = false)
private String username;
@Column(name = "dream_remembered", nullable = false)
private boolean dreamRemembered;
@Column(name = "nightmare", nullable = false)
private boolean nightmare;
@Column(name = "waking_time", nullable = false)
private int wakingTime;
@Column(name = "good_night_of_sleep", nullable = false)
private boolean goodNightOfSleep;
/* ------------------------------
| Getter & Setter |
------------------------------ */
public String getDayCreated() {
return dayCreated;
}
public void setDayCreated(String dayCreated) {
this.dayCreated = dayCreated;
}
public int getAgeInDays() {
return ageInDays;
}
public void setAgeInDays(int ageInDays) {
this.ageInDays = ageInDays;
}
public boolean isDreamRemembered() {
return dreamRemembered;
}
public void setDreamRemembered(boolean dreamRemembered) {
this.dreamRemembered = dreamRemembered;
}
public boolean isNightmare() {
return nightmare;
}
public void setNightmare(boolean nightmare) {
this.nightmare = nightmare;
}
public int getWakingTime() {
return wakingTime;
}
public void setWakingTime(int wakingTime) {
this.wakingTime = wakingTime;
}
public boolean isGoodNightOfSleep() {
return goodNightOfSleep;
}
public void setGoodNightOfSleep(boolean goodNightOfSleep) {
this.goodNightOfSleep = goodNightOfSleep;
}
public String getUsername() {
return username;
}
public void setUsername(String userId) {
this.username = userId;
}
/* ------------------------------
| CONSTRUCTOR |
------------------------------ */
public StartDay(int ageInDays, String dayCreated, String username, boolean dreamRemembered, boolean nightmare, int wakingTime, boolean goodNightOfSleep) {
this.ageInDays = ageInDays;
this.dayCreated = dayCreated;
this.username = username;
this.dreamRemembered = dreamRemembered;
this.nightmare = nightmare;
this.wakingTime = wakingTime;
this.goodNightOfSleep = goodNightOfSleep;
}
public StartDay() {
}
}
我的 start-dag.html 页面:
<form th:action="@{/normal/start-dag}" th:object="${startDay}" method="post">
<div>
<p>Hvad tid stod du op?</p>
<input type="time" name="wakingTime">
<p>Har du sovet godt?</p>
<!--<input type="checkbox" name="goodNightOfSleep"><span>Ja</span>-->
<p>Kan du huske hvad du drømte?</p>
<input type="checkbox" name="dreamRemembered"><span>Ja</span>
<p>Var det et mareridt?</p>
<input type="checkbox" name="nightmare"><span>Ja</span>
<input type="hidden" name="username" />
<input type="hidden" name="ageInDays" />
<input type="hidden" name="dayCreated" />
<input type="submit" value="Start dag">
</div>
</form>
任何帮助/建议表示赞赏!
更新 #1 – 添加了更多代码
我的开始日控制器
// Start\create day
@GetMapping("/normal/start-dag")
public String opretGoal(Model model){
StartDay startDay = new StartDay();
model.addAttribute("startDay", startDay);
return "normal/start-dag";
}
@PostMapping("/normal/start-dag")
public String opretGoal(@ModelAttribute StartDay startDay, BindingResult bindingResult){
startDayService.createGoalOfTheDay(startDay);
return "redirect:/normal/menu";
}
解决方案
@Column(name = "waking_time", nullable = false)
private int wakingTime;
您发送 08:00 作为输入并接受值作为 int。你可以接受喜欢
@DateTimeFormat
@Column(name = "waking_time", nullable = false)
private Date wakingTime;
并将其转换为所需的格式。
或者如果您想接受时间为 08:00。接受它作为字符串。
@Column(name = "waking_time", nullable = false)
private String wakingTime;
推荐阅读
- parameters - Flutter:将传递的参数更改为“StatefulWidget”
- php - 如何将数据库中的用户角色存储在会话中并比较它以在 PHP 中进行重定向?
- python - 如何让随机字符和数字出现在整个屏幕上,从上到下像动画一样?
- powershell - PowerShell 变量未按预期工作
- c# - 在 Azure 中使用子域名分隔 Web 应用程序
- c - 如何重新格式化 C 代码以将每个结构或函数定义放在一行中?
- ansible - Ansible:从列表中返回一个属性,过滤器应用于另一个属性
- javascript - Nodejs mssql/msnodesqlv8 问题在数据库请求中发送分号
- c++ - QT:addLayout 导致崩溃
- node.js - 尝试使用 truffle-contract 从节点 js 部署合约时出错