在日期控件下jsp页面input标签里嵌套使用fmt转换日期格式。
这里的生日 实体类及数据库中 的类型为 String 和 varchar 。字符串类型,在使用el表达式获取到的值为String类型。通过日期控件最终显示的格式就为yyyy-MM-dd ,
<p>
<label>生日:</label><input type="text" name="birthday"value="${user.birthday}" class="date" dateFmt="yyyy-MM-dd" minDate="1957-01-01" maxDate="2029-01-01"/>
<a class="inputDateButton" href="javascript:;">选择</a>
<span class="info">yyyy-MM-dd</span>
</p>
修改时回显当前的生日。格式正常,
但是,当属性不是varchar和string类型时,而是Date类型的(后台传前台时为Date类型的日期格式)
<p>
<label>测试:</label>
<input type="text" name="regtime"value="${user.regtime}" class="date" dateFmt="yyyy-MM-dd" minDate="1957-01-01" maxDate="2029-01-01"/>
<a class="inputDateButton" href="javascript:;">选择</a>
<span class="info">yyyy-MM-dd</span>
</p>
此时读取的el表达式中的值为date类型,日期插件不起作用,
下面,通过input内使用fmt转换格式,
<p>
<label>测试:</label>
<input type="text" name="regtime"
value="<fmt:formatDate value='${user.regtime}' pattern='yyyy-MM-dd'/>"class="date" dateFmt="yyyy-MM-dd"
/>
<a class="inputDateButton" href="javascript:;">选择</a>
<span class="info">yyyy-MM-dd</span>
</p>
日期回显,正常。(注意在input当中使用fmt时,fmt:formatDate的属性用单引号)