当前位置 : 主页 > 编程语言 > java >

jsp – JSTL格式标记

来源:互联网 收集:自由互联 发布时间:2021-06-25
尝试在INPUT文本字段中填充和格式化日期值.我在这做错了什么? spring:bind path="salesData.weekEndDate" input type="text" name="${status.expression}" value="${fmt:formateDate pattern='MM/mm/YYYY' status.value}"/ JSTL f
尝试在INPUT文本字段中填充和格式化日期值.我在这做错了什么?

<spring:bind path="salesData.weekEndDate">
 <input type="text" name="${status.expression}"
 value="${fmt:formateDate pattern='MM/mm/YYYY' status.value}"
/>
JSTL fmt taglib存在< fmt:xxx>标签,而不是${fmt:xxx}功能.

相应修复:

<input type="text" name="${status.expression}"
    value="<fmt:formatDate pattern="MM/dd/yyyy" value="${status.value}" />" />
/>

(请注意,天数应表示为dd,而不是mm,并且年份将表示为yyyy,而不是YYYY,有关所有有效模式,请参见SimpleDateFormat javadoc)

如果您的IDE突然出现嵌套标签(但它应该运行得非常好)或者您从中获取痒,请使用var属性,以便您的HTML / XML最终形成良好.

<fmt:formatDate pattern="MM/dd/yyyy" value="${status.value}" var="statusDate" />
<input type="text" name="${status.expression}" value="${statusDate}" />

如果你真的想要一个${fmt:formatDate()}函数,你必须自己进行自己的生成.您可以在this answer找到启动示例.

按照每条评论更新,${status.value}实际上是格式为yyyy-MM-dd的字符串.如果将其修改为一个完整的日期不是一个选项,那么您需要先在< fmt:parseDate>的帮助下将其解析为日期.在将其提供给< fmt:formatDate>之前.

<fmt:parseDate pattern="yyyy-MM-dd" value="${status.value}" var="parsedStatusDate" />
<fmt:formatDate pattern="MM/dd/yyyy" value="${parsedStatusDate}" var="formattedStatusDate" />
<input type="text" name="${status.expression}" value="${formattedStatusDate}" />
网友评论