tomcat-taglibs-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "LoBello,Jeff" <Jeff.Lobe...@Cerner.com.INVALID>
Subject JSP custom tag operating different when adoptOpenJDK is used vs Oracle
Date Fri, 25 Oct 2019 16:56:45 GMT
We have a custom tag, FormatDateTag extends org.apache.taglibs.standard.tag.common.fmt.FormatDateSupport.
 It’s been working ok for a number of years under Oracle JVM.  Now, we are moving to adoptOpenJDK
 & we are seeing some differences in how tomcat generation of JSP to Java classes happens
when tomcat is doing the EL evaluation.  Here is an example JSP which shows the issue…

<%@ page language="java" contentType="text/html" isELIgnored="false" %>
<%@ page import="java.util.Date" %>
<%@ taglib uri="/WEB-INF/tld/suitags.tld" prefix="sui" %>

<%
Date chdt = new Date();
request.setAttribute("chdt", chdt);
%>

<sui:formatDate value="${chdt}" type="date" dateStyle="shortfull" />

Looking at the compiled JSP source code under Oracle JVM, we see this…

     // /tagUnitTests/sui/formatDate/testCaliHDateTime1.jsp(20,0) name = value type
= java.lang.Object reqTime = true required = true fragment = false deferredValue = false expectedTypeName
= null deferredMethod = false methodSignature = null
    _jspx_th_sui_005fformatDate_005f0.setValue((java.lang.Object) org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate("${chdt}",
java.lang.Object.class, (javax.servlet.jsp.PageContext)_jspx_page_context, null));

The same source compiled using AdoptOpenJDK, we see this…

    // /tagUnitTests/sui/formatDate/ testCaliHDateTime1.jsp(20,0) name = value type = java.lang.Object
reqTime = true required = true fragment = false deferredValue = false expectedTypeName = null
deferredMethod = false methodSignature = null
    _jspx_th_sui_005fformatDate_005f0.setValue((java.lang.String) org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate("${chdt}",
java.lang.String.class, (javax.servlet.jsp.PageContext)_jspx_page_context, null));

As a workaround, we’re adding calls to <fmt:parseDate> to convert the String back
to a Date.  Has anyone run into this? Any ideas we can try to find the root cause?

Thanks,

Jeff LoBello
Lead Software Engineer
Cerner | www.cerner.com<http://www.cerner.com/>




CONFIDENTIALITY NOTICE This message and any included attachments are from Cerner Corporation
and are intended only for the addressee. The information contained in this message is confidential
and may constitute inside or non-public information under international, federal, or state
securities laws. Unauthorized forwarding, printing, copying, distribution, or use of such
information is strictly prohibited and may be unlawful. If you are not the addressee, please
promptly delete this message and notify the sender of the delivery error by e-mail or you
may call Cerner's corporate offices in Kansas City, Missouri, U.S.A at (+1) (816)221-1024.
Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message