SSM中错误解决之String和Date在jsp页面中的显示与提交--Binrry(冰蕊)

问题

SSM中jsp页面表单中input里面怎么显示‘yyyy-mm-dd’日期格式并提交。

原因

input里text是String类型 ,若数据为Date类型提交时则会出错。

解决

在jsp页面中的显示’‘yyyy-mm-dd’’

在jsp页面开头添加

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    <%@ taglib prefix="fmt"  uri="http://java.sun.com/jsp/jstl/fmt" %>

在表单中加入下面语句即可显示’‘yyyy-mm-dd’'的设置时间

<td><fmt:formatDate value="${row.settime}"  pattern="yyyy-MM-dd"/></td>

在jsp页面中的显示与提交

下面语句可以在表单显示需要提交的’‘yyyy-mm-dd’'的开始时间

<td><input type="text" value="<fmt:formatDate value="${row.begindate}"  pattern="yyyy-MM-dd"/>" name="begindate" >  </td>

但需要先在Controller中添加

/**
     * 数据初始化绑定:SpringMVC中,数据从前台过来会将字符串转换为日期对象
     * @param binder
     */
     @InitBinder
     public void initBinder(WebDataBinder binder) {
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");//格式根据个人需求进行设定
        dateFormat.setLenient(false);
        binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, true));   //true:允许输入空值,日期可以为空,false:不能为空值
    }

再在spring-mvc.xml添加

 <!-- 使用注解驱动 -->
<mvc:annotation-driven/>

提交即可解决
在这里插入图片描述

若无法解决可以评论我哦!

好的,下面是一个简单的员工打卡页面的实现步骤: 1. 首先,创建一个 JSP 页面,例如 "checkin.jsp",在页面上添加一个 "打卡" 按钮。 2. 在页面上添加一个表单,包含员工的工号、姓名等信息,以便后台可以识别员工并记录打卡记录。 3. 当员工点击打卡按钮时,可以使用 JavaScript 或 jQuery 发送一个 AJAX 请求到后台,以便后台记录员工的打卡记录。例如: ``` $.ajax({ type: "POST", url: "/checkin", data: { empId: empId, empName: empName }, success: function(data) { // 打卡成功,更新页面上的打卡记录 }, error: function() { // 打卡失败,提示用户 } }); ``` 4. 创建一个 Spring MVC 的 Controller,用于处理 "checkin" 的请求。例如: ``` @Controller public class CheckinController { @Autowired private CheckinService checkinService; @RequestMapping(value = "/checkin", method = RequestMethod.POST) @ResponseBody public String checkin(@RequestParam("empId") String empId, @RequestParam("empName") String empName) { // 调用 Service 层的方法,记录员工的打卡记录 boolean success = checkinService.checkin(empId, empName); if (success) { return "打卡成功"; } else { return "打卡失败"; } } } ``` 5. 创建一个 Service 层的接口实现类,用于处理员工打卡的业务逻辑。例如: ``` public interface CheckinService { boolean checkin(String empId, String empName); } @Service public class CheckinServiceImpl implements CheckinService { @Autowired private CheckinMapper checkinMapper; @Override public boolean checkin(String empId, String empName) { // 调用 DAO 层的方法,将员工的打卡记录保存到数据库中 Checkin checkin = new Checkin(); checkin.setEmpId(empId); checkin.setEmpName(empName); checkin.setCheckinTime(new Date()); int rows = checkinMapper.insert(checkin); return rows > 0; } } ``` 6. 创建一个 DAO 层的接口实现类,用于访问数据库并执行 SQL 语句。例如: ``` public interface CheckinMapper { int insert(Checkin checkin); } @Mapper public interface CheckinMapper { @Insert("INSERT INTO checkin (emp_id, emp_name, checkin_time) VALUES (#{empId}, #{empName}, #{checkinTime})") int insert(Checkin checkin); } ``` 7. 最后,将打卡记录返回给前端页面,以便员工可以查看自己的打卡记录。可以在 JSP 页面中使用 JSTL 标签 EL 表达式来显示打卡记录。例如: ``` <c:forEach items="${checkinList}" var="checkin"> <tr> <td>${checkin.empId}</td> <td>${checkin.empName}</td> <td>${checkin.checkinTime}</td> </tr> </c:forEach> ``` 需要注意的是,在开发过程中需要保证代码的安全性可维护性,例如,对用户输入进行合法性校验,对数据库连接进行合理的管理等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值