我只是问这个表达式是否正确我在关闭时得到Unterminated< sql:param标记的错误。
我只想知道这个表达是否正确。
<sql:param value="<fmt:formatDate value="${date}" dateStyle="full"/>"
,这不起作用
<fmt:parseDate var="date" value="${param.month}, ${param.day}, ${param.year}" type="DATE"
pattern="dd/mm/yyyy" />
答案 0 :(得分:1)
JSPX必须是格式良好的XML。像这样嵌套XML风格的标签确实无效。
只需使用<fmt:formatDate>
标记的var
属性即可创建一个范围变量,您可以在另一个标记中引用该变量。
<fmt:formatDate value="${date}" dateStyle="full" var="formattedDate" />
<sql:param value="${formattedDate}" />
对于您的<fmt:parseDate>
尝试,它失败了,因为您在value
属性中指定的模式与您在pattern
属性中指定的模式不匹配。您基本上在模式期望MM, dd, yyyy
时指定值中的模式dd/mm/yyyy
。另请注意,mm
代表分钟,而不是几个月。您需要MM
几个月。
确保它们匹配。
<fmt:parseDate var="date" value="${param.month}/${param.day}/${param.year}" pattern="MM/dd/yyyy" />
有关模式字符的详细信息,另请参阅the SimpleDateFormat
javadoc。