脚本错误:为日期类型未定义方法getFullYear/ toLocaleDateString

问题描述

我目前正在尝试使用scriptlet在页面标题和说明中输入当前年份或语言环境日期,如下所示。在控制台上,我得到标题中提到的错误,导致“ org.apache.jasper.JasperException:无法为JSP编译类”错误

@echo off

setlocal 
:::::::::::::::::::::::::::::::::::
set "SERVICE_TO_FIND=32Time"
:: you can assign also an argument
rem set set "SERVICE_TO_FIND=%~1"
:::::::::::::::::::::::::::::::::::

set "Name="
for /f "usebackq tokens=* delims=" %%# in (
    `wmic service where "name like '%%%sERVICE_TO_FIND%%%'" get Name /Format:Value`
) do (
    for /f "tokens=* delims=" %%] in ("%%#") do set "%%]"
)

if not defined Name (
    echo service like %sERVICE_TO_FIND% not found
    rem exit /b 1
) else (
    echo service found [%Name%]
)

endlocal

我在做什么错,如何解决?我已经在页面的开头导入了java类Date:

<tiles:param name="pageTitle">something something <%=(new java.util.Date()).getFullYear()%> something something </tiles:param> <tiles:param name="pageDescription">Last Update: <%=(new java.util.Date()).toLocaleDateString()%>. more something something</tiles:param>

解决方法

您可以尝试使用JSTL以某些格式打印日期。

  <%@ taglib prefix = "c" uri = "http://java.sun.com/jsp/jstl/core" %>
  <%@ taglib prefix = "fmt" uri = "http://java.sun.com/jsp/jstl/fmt" %>
  
      <c:set var = "now" value = "<% = new java.util.Date()%>" />
      <p>Formatted Date (1): <fmt:formatDate type = "time" value = "${now}" /></p>
      <p>Formatted Date (2): <fmt:formatDate type = "date" value = "${now}" /></p>
      <p>Formatted Date (3): <fmt:formatDate type = "both" value = "${now}" /></p>
      <p>Formatted Date (4): <fmt:formatDate type = "both" dateStyle = "short" timeStyle = "short" value = "${now}" /></p>
      <p>Formatted Date (5): <fmt:formatDate type = "both" dateStyle = "medium" timeStyle = "medium" value = "${now}" /></p>
      <p>Formatted Date (6): <fmt:formatDate type = "both" dateStyle = "long" timeStyle = "long" value = "${now}" /></p>
      <p>Formatted Date (7): <fmt:formatDate pattern = "yyyy-MM-dd" value = "${now}" /></p>