Ich bekomme den "Fehler 500: javax.el.ELException: Die Klasse [java.lang. Nummer] muss öffentlich sein, nicht abstrakt und keine Schnittstelle "auf meiner JSP-Seite.javax.el.ELException: Die Klasse [java.lang.Number] muss öffentlich, nicht abstrakt und keine Schnittstelle sein.
Hier sind die Protokolle.
000001f8 ServletWrappe E com.ibm.ws.webcontainer.servlet.ServletWrapper service SRVE0068E: An exception was thrown by one of the service methods of the servlet [/WEB-INF/pages/tpl/docDetail.jsp] in application [gsa]. Exception created : [javax.el.ELException: The class [java.lang.Number] must be public, non-abstract and not an interface
at javax.el.ImportHandler.findClass(ImportHandler.java:231)
at javax.el.ImportHandler.resolveClass(ImportHandler.java:185)
at javax.servlet.jsp.el.ScopedAttributeELResolver.getValue(ScopedAttributeELResolver.java:140)
at org.apache.jasper.el.JasperELResolver.getValue(JasperELResolver.java:110)
at org.apache.el.parser.AstIdentifier.getValue(AstIdentifier.java:80)
at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:184)
at org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:815)
at com.ibm._jsp._docDetail._jspx_meth_c_out_1(_docDetail.java:311)
at com.ibm._jsp._docDetail._jspService(_docDetail.java:130)
at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:99)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1235)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:779)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:478)
at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178)
at com.ibm.wsspi.webcontainer.servlet.GenericServletWrapper.handleRequest(GenericServletWrapper.java:122)
at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionServletWrapper.handleRequest(AbstractJSPExtensionServletWrapper.java:220)
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1124)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:1390)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:196)
at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1085)
at org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:263)
at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:398)
at org.apache.struts.tiles.TilesRequestProcessor.processForwardConfig(TilesRequestProcessor.java:318)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:241)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
Hier ist meine docDetail.jsp Seite Code:
<%-- --------------- LANGUAGE --------------- --%>
<%@ page contentType="text/html; charset=UTF-8" %>
<%-- --------------- TAGLIBS --------------- --%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-bean" prefix="bean" %>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html" %>
<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>
<%-- --------------- IMPORTS --------------- --%>
<%@page import="java.util.List,java.util.Iterator,
com.vw.gsasearch.domain.tpl.model.TplProcess" %>
<c:set var="cssURL">
<bean:message key="css.elsa.vw" />
</c:set>
<c:set var="cssURL">
<html:rewrite page="${cssURL}" />
</c:set>
<html>
<head>
<LINK href='<c:out value="${cssURL}" />' rel="stylesheet" type="text/css" />
<style>
td{
color: #000000;
font-size: 10pt;
font-family: Arial, Helvetica, sans-serif;
text-decoration: none;
}
</style>
<script language="JavaScript" type="text/javascript">
var g_count;
var g_position;
\t function disableButtons() {
\t
\t \t if (top['barFs']) {
\t \t g_count = '<c:out value="${Number}"/>';
\t \t g_position = '<c:out value="${Position}"/>';
\t \t if (!(top['barFs'].disableButtons)) {
window.setTimeout("delay100()", 100);
} else {
top['barFs'].disableButtons(g_count, g_position);
}
\t \t }
\t \t
\t }
\t function delay100() {
if (!(top['barFs'].disableButtons)) {
window.setTimeout("delay100()", 100);
} else {
top['barFs'].disableButtons(g_count, g_position);
}
\t
}
</script>
</head>
<body class="elsaBackground_light" onload="disableButtons();">
<form>
\t <table cellpadding="5" cellspacing="5">
\t \t <tr>
<%-- <td><bean:message key="process.pid" bundle="TPL" />:</td>
<td><select class="readonlyInput" readonly="readonly" name="kdnr" size="1">
<option> </option></td> --%>
\t \t <td><bean:message key="process.revised" />: </td>
\t \t <td><c:out value="${procedure.changeDate}" /></td>
\t \t </tr>
\t </table>
\t </body>
\t
\t <%-- remove session atrribute --%> \t
\t <%--<c:remove var="procedure" scope="session" /> --%> \t
</html>
Es löst das Problem nicht. Immer noch der gleiche Fehler. Die Anwendung wurde von WAS7 in WAS9 migriert und das Problem wurde angezeigt. Es funktioniert gut auf WAS7 mit dem gleichen Code. –
Dann haben Sie vergessen, den Code nach dem Bearbeiten des Variablennamens zu speichern, neu zu erstellen oder erneut bereitzustellen. Natürlich funktioniert es auf WAS7, weil das alte Biest nur EL 2.1 benutzt. – BalusC
getan wie vorgeschlagen, aber das gleiche Ergebnis. –