当我在使用jre 7运行的tomcat 6或7中的jsp页面中使用日期格式时,它没有显示任何错误。
但是当我将我的代码上传到另一台运行jre 6或5的机器时,它显示出以下错误。 在我的代码中,我也导入了java.util.java.text包。
org.apache.jasper.JasperException: An exception occurred processing JSP page /entsug.jsp at line 24
21: String imag =(String)session.getAttribute("image");
22: String frrr =(String)session.getAttribute("frrr");
23: String moto = request.getParameter("sugge");
24: java.text.DateFormat df = new java.text.SimpleDateFormat("dd/MM/YYYY HH:mm");
25: String da=df.format(new java.util.Date());
26:
27:
堆栈跟踪:
org.apache.jasper.servlet.JspServletWrapper.handleJspException
(JspServletWrapper.java:510)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:419)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
根本原因
java.lang.IllegalArgumentException: Illegal pattern character 'Y'
java.text.SimpleDateFormat.compile(Unknown Source)
java.text.SimpleDateFormat.initialize(Unknown Source)
java.text.SimpleDateFormat.<init>(Unknown Source)
java.text.SimpleDateFormat.<init>(Unknown Source)
org.apache.jsp.entsug_jsp._jspService(entsug_jsp.java:88)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
答案 0 :(得分:2)
比较API Docs for Java 6和Java 7可以得到答案:
SimpleDateFormat SE 6仅允许小写'y'显示年份。 SimpleDateFormat SE 7还允许大写字母'Y'显示所谓的“周年”
祝你好运!答案 1 :(得分:0)
尝试小&#39; y&#39;而不是资本认为有效。
答案 2 :(得分:0)
试试这个
java.text.DateFormat df = new java.text.SimpleDateFormat("dd/MM/yyyy HH:mm");
小写y