[Tomcat 5.5.12] ELException

Pagina: 1
Acties:

  • turkosh
  • Registratie: December 2003
  • Laatst online: 26-04-2025
Hoi Allemaal,

Wij proberen te migreren van resin 3.0.14 naar tomcat 5.5.12. Maar in tomcat gaat er iets mis met de expression language die wij gebruikt hebben in onze jsps.
Het gaat om deze stukje code:
code:
1
<fmt:setLocale value='${config.sCfgLanguage}'/>

Daar gooit tomcat de volgende foutmelding:

javax.servlet.jsp.el.ELException: Unable to find a value for "sCfgLanguage" in object of class "nl.struts.util.ApiConfig" using operator "."
org.apache.commons.el.Logger.logError(Logger.java:481)
org.apache.commons.el.Logger.logError(Logger.java:498)
org.apache.commons.el.Logger.logError(Logger.java:611)
org.apache.commons.el.ArraySuffix.evaluate(ArraySuffix.java:340)
org.apache.commons.el.ComplexValue.evaluate(ComplexValue.java:145)
org.apache.commons.el.ExpressionEvaluatorImpl.evaluate(ExpressionEvaluatorImpl.java:263)
org.apache.commons.el.ExpressionEvaluatorImpl.evaluate(ExpressionEvaluatorImpl.java:190)
org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:922)
org.apache.jsp.jsp.UpiAdminListRequests_jsp._jspx_meth_fmt_setLocale_0(org.apache.jsp.jsp.UpiAdminListRequests_jsp:970)
org.apache.jsp.jsp.UpiAdminListRequests_jsp._jspService(org.apache.jsp.jsp.UpiAdminListRequests_jsp:217)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1063)
org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:386)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:229)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
nl.upi.workmate.persistence.Persistence.doFilter(Persistence.java:133)

Het verschil tussen deze code en de andere EL code is dat hier gebruik wordt gemaakt van een .properties bestand. Dus sCfgLanguage krijgt zijn waarde uit die bestand. Andere jsps waar ook EL in staan maar dan zonder soortgelijke stukjes code, werken wel. De .properties bestand zit wel op de juiste plek (is dus aanwezig in webapps folder van tomcat). Is er misschien een extra library nodig om het geheel werken te krijgen?

Verwijderd

sCfgLanguage" "nl.struts.util.ApiConfig" using operator "."

Zit de methode getsCfgLanguage() wel in de class nl.struts.util.ApiConfig?

  • turkosh
  • Registratie: December 2003
  • Laatst online: 26-04-2025
Yep, alle attributen die in de .properties bestand zijn gezet hebben een getter en een setter in de ApiConfig.
Het werkt trouwens wel goed onder resin 3.0.14. Ik denk dat ik een instelling, lib mis onder tomcat. Maar ik weet dus niet welke :-(

Verwijderd

Let op, ik doel op de methode: getsCfgLanguage
En dus niet: getSCfgLanguage

  • turkosh
  • Registratie: December 2003
  • Laatst online: 26-04-2025
Hoi Mark,

Je hebt gelijk! getsCfg... werkt en getSCfg.... werkt niet!?
de vraag is: waarom?????
De getters en setters worden namelijk "autogenerated" door eclipse.

Verwijderd

Ja dat is een bean specificatie het moet iig een kleine letter zijn na "get" als de opvolgende letter ook een hoofdletter is oid. Het fijne weet ik er ook niet van.

  • turkosh
  • Registratie: December 2003
  • Laatst online: 26-04-2025
Thanks in ieder geval is die probleem opgelost. _/-\o_
Tomcat zeikt nog steeds over mij EL in de jsp's, maar die zal ik dan maar nader bekijken. Zal kennelijk wel "syntax" fouten zitten die resin over het hoofd ziet en tomcat niet.

Is er trouwens een jsp editor, voor eclipse die ook de java source van de jsp te voorschijn kan toveren? Ik weet dat lomboz 2 dat wel had, maar de nieuwe versie heeft dat niet meer.

[ Voor 31% gewijzigd door turkosh op 13-01-2006 10:56 ]


  • flowerp
  • Registratie: September 2003
  • Laatst online: 04-02 02:01
turkosh schreef op vrijdag 13 januari 2006 @ 10:41:
Thanks in ieder geval is die probleem opgelost. _/-\o_
Tomcat zeikt nog steeds over mij EL in de jsp's, maar die zal ik dan maar nader bekijken. Zal kennelijk wel "syntax" fouten zitten die resin over het hoofd ziet en tomcat niet.
Dat is vaak nogal lastig, omdat er geen specificatie of api voor is om dat te doen. Je kunt JSP's met veel editors en moderne application servers wel debuggen (bv MyEclipse en Tomcat kan dat). Hoewel ik het nog nooit geprobeerd heb, kun je als het goed is ook een source directory koppelen aan een debug target in Eclipse.

Je start dan je server op, gaat naar je debug mode in Eclipse, rechts click op de root van de running instance de je aan het debuggen bent. Vanaf 1 van de opties daar kun je dan navigeren naar de directory waar Tomcat de gecompileerde JSP's neerzet. ( install-dir/work/ROOT ofzo iets). Je moet nog wel handmatig Tomcat configureren om de java versies van de gecompileerde JSP pagina's er bij te zetten (standaard staan er alleen .class files). is geloof ik een optie in install-dir/conf/server.xml.

It's shocking to find how many people do not believe they can learn, and how many more believe learning to be difficult.

Pagina: 1