org.apache.jasper.JasperException: /WEB-INF/jsp/login.jsp(17,2) Unterminated <core:if tag
at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40) [jasper.jar:na] this says that login.jsp at line 17 column2 has an unterminated if tag here is a complete example that uses if component from Struts core e.g. <s:if test="#groupStatus.odd == true ">odd</s:if> <!-- assuming you have this taglib declaration --> <%@ taglib prefix="s" uri="/struts-tags"%> <html> <head> <title>test For Bharaat</title> <meta name="GENERATOR" content="Microsoft FrontPage 3.0"> </head> <body> <table> <tr class="trheadermain" align="center" bgcolor="#990000" height="17"> <td colspan="4" align="center" height="17" width="100%"></td> </tr> <tr bgcolor="#990000" height="17"> <td class="trheadermain" colspan="2" align="center" height="17" width="33%"><b>NAME</b></td> <td class="trheadermain" width="33%"><b>Price</b></td> <td class="trheadermain" width="33%"><b>Original Value</b></td> </tr> <tr> <td><!-- construct an iterator which will iterate thru a Entries list supplied by simple.GetEntryAction --> <webwork:iterator value="simple.GetEntryAction" status="groupStatus"> </td> </tr> <s:iterator value="groupDao.groups" status="groupStatus"> <tr class="<s:if test="#groupStatus.odd == true ">odd</s:if><s:else>even</s:else>"> </tr> </s:iterator> </tr> </table> </body> </html> Martin Gainty ______________________________________________ Verzicht und Vertraulichkeitanmerkung/Note de déni et de confidentialité Diese Nachricht ist vertraulich. Sollten Sie nicht der vorgesehene Empfaenger sein, so bitten wir hoeflich um eine Mitteilung. Jede unbefugte Weiterleitung oder Fertigung einer Kopie ist unzulaessig. Diese Nachricht dient lediglich dem Austausch von Informationen und entfaltet keine rechtliche Bindungswirkung. Aufgrund der leichten Manipulierbarkeit von E-Mails koennen wir keine Haftung fuer den Inhalt uebernehmen. Ce message est confidentiel et peut être privilégié. Si vous n'êtes pas le destinataire prévu, nous te demandons avec bonté que pour satisfaire informez l'expéditeur. N'importe quelle diffusion non autorisée ou la copie de ceci est interdite. Ce message sert à l'information seulement et n'aura pas n'importe quel effet légalement obligatoire. Étant donné que les email peuvent facilement être sujets à la manipulation, nous ne pouvons accepter aucune responsabilité pour le contenu fourni. > Date: Fri, 18 Sep 2009 17:18:08 -0700 > Subject: environment variables for hostname and context name > From: cheshira...@gmail.com > To: users@tomcat.apache.org > > I'm reconfiguring the logging for my tomcat installation (6.0.20) to > use logback (instead of log4j) for the server logging so I can split > out error messages on a per host basis. I see that "catalina.home" is > exposed as an environment var and usable in the logging configuration > file - what about the hostname and context name/path? > > I would like to set up a config file such that I don't have to edit it > every time I add a new sandbox for a developer (host). I want the > errors split out per host instead of one big file, because it makes it > possible to tell which sandbox had a problem with a JSP page for > instance. > > I have it working if I hardcode a new appender per host going to a > separate file - something like : > > <root level="INFO"> > <appender-ref ref="tomcat" /> > </root> > > <logger > name="org.apache.catalina.core.ContainerBase.[Catalina].[a.domain.com]" > level="INFO" > additivity="false"> > <appender-ref ref="tomcat_www" /> > </logger> > > and then two appenders, one for base logging from the tomcat > container, and then one for the host "a.domain.com". > > <appender name="tomcat_www" > class="ch.qos.logback.core.rolling.RollingFileAppender"> > <File>${catalina.home}/logs/tomcat-www.log</File> > <RollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> > > <FileNamePattern>${catalina.home}/logs/tomcat-www.%d{yyyy-MM-dd}.log.gz</FileNamePattern> > </RollingPolicy> > > <layout class="ch.qos.logback.classic.PatternLayout"> > <Pattern>%-25(%date{HH:mm:ss.SSS} [%thread]) > %-5level%n%logger%n%msg%n</Pattern> > </layout> > </appender> > > > Now when I log an error I see something like : > > 17:04:01.890 [http-8080-1] ERROR > org.apache.catalina.core.ContainerBase.[Catalina].[a.domain.com].[/foo].[default] > Servlet.service() for servlet default threw exception > org.apache.jasper.JasperException: /WEB-INF/jsp/login.jsp(17,2) > Unterminated <core:if tag > at > org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40) > [jasper.jar:na] > > [blah blah blah] > > "a.domain.com" is the host where the web app is deployed. "foo" is the > context path under which the app is deployed. So if it was able to log > this information, it must be accessible somewhere, right? If I can get > access to the hostname and context name I can specify a dynamic file > name using these variables, and then only have one appender defined no > matter how many new hosts I deploy. > > > Chris > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org > For additional commands, e-mail: users-h...@tomcat.apache.org > _________________________________________________________________ Your E-mail and More On-the-Go. Get Windows Live Hotmail Free. http://clk.atdmt.com/GBL/go/171222985/direct/01/