geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jacek Laskowski" <ja...@laskowski.net.pl>
Subject h:commandLink's action - According to TLD or attribute directive in tag file, attribute action does not accept any expressions
Date Thu, 04 Sep 2008 16:03:00 GMT
Hi,

Geronimo keeps surprising me in quite unusual ways and for two days
I've not been able to figure out what causes the following error
message:

javax.faces.FacesException: /run.jsp(67,18) According to TLD or
attribute directive in tag file, attribute action does not accept any
expressions
        at org.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatch(ServletExternalContextImpl.java:344)
        at org.apache.myfaces.application.jsp.JspViewHandlerImpl.buildView(JspViewHandlerImpl.java:481)
        at org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderView(JspViewHandlerImpl.java:334)
        at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:547)
        at org.restfaces.application.RestViewHandler.renderView(RestViewHandler.java:148)
        at org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:41)
        at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:140)
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:152)
        at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
        at org.apache.geronimo.jetty6.InternalJettyServletHolder.handle(InternalJettyServletHolder.java:65)
        at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1093)
        at com.tonbeller.wcf.controller.RequestFilter$MyHandler.normalRequest(RequestFilter.java:139)
        at com.tonbeller.wcf.controller.RequestSynchronizer.handleRequest(RequestSynchronizer.java:127)
        at com.tonbeller.wcf.controller.RequestFilter.doFilter(RequestFilter.java:263)
        at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
        at org.restfaces.Filter.doFilter(Filter.java:169)
        at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
        at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
        at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
        at org.apache.geronimo.jetty6.handler.JettySecurityHandler.handle(JettySecurityHandler.java:114)
        at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
        at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:726)
        at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
        at org.apache.geronimo.jetty6.handler.TwistyWebAppContext.access$101(TwistyWebAppContext.java:40)
        at org.apache.geronimo.jetty6.handler.TwistyWebAppContext$TwistyHandler.handle(TwistyWebAppContext.java:65)
        at org.apache.geronimo.jetty6.handler.ThreadClassloaderHandler.handle(ThreadClassloaderHandler.java:46)
        at org.apache.geronimo.jetty6.handler.InstanceContextHandler.handle(InstanceContextHandler.java:58)
        at org.apache.geronimo.jetty6.handler.UserTransactionHandler.handle(UserTransactionHandler.java:48)
        at org.apache.geronimo.jetty6.handler.ComponentContextHandler.handle(ComponentContextHandler.java:47)
        at org.apache.geronimo.jetty6.handler.TwistyWebAppContext.handle(TwistyWebAppContext.java:59)
        at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206)
        at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
        at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
        at org.mortbay.jetty.Server.handle(Server.java:324)
        at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
        at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:828)
        at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
        at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
        at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
        at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
        at org.apache.geronimo.pool.ThreadPool$1.run(ThreadPool.java:214)
        at org.apache.geronimo.pool.ThreadPool$ContextClassLoaderRunnable.run(ThreadPool.java:344)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
        at java.lang.Thread.run(Thread.java:595)
Caused by: org.apache.jasper.JasperException: /run.jsp(67,18)
According to TLD or attribute directive in tag file, attribute action
does not accept any expressions
        at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)
        at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
        at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:148)
        at org.apache.jasper.compiler.Validator$ValidateVisitor.checkXmlAttributes(Validator.java:1069)
        at org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:819)
        at org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1512)
        at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2343)
        at org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2393)
        at org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:838)
        at org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1512)
        at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2343)
        at org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2393)
        at org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:838)
        at org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1512)
        at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2343)
        at org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2393)
        at org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2399)
        at org.apache.jasper.compiler.Node$Root.accept(Node.java:489)
        at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2343)
        at org.apache.jasper.compiler.Validator.validate(Validator.java:1737)
        at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:165)
        at org.apache.jasper.compiler.Compiler.compile(Compiler.java:314)
        at org.apache.jasper.compiler.Compiler.compile(Compiler.java:294)
        at org.apache.jasper.compiler.Compiler.compile(Compiler.java:281)
        at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:566)
        at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:312)
        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
        at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
        at org.apache.geronimo.jetty6.InternalJettyServletHolder.handle(InternalJettyServletHolder.java:65)
        at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:362)
        at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
        at org.apache.geronimo.jetty6.handler.JettySecurityHandler.handle(JettySecurityHandler.java:114)
        at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
        at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:726)
        at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
        at org.apache.geronimo.jetty6.handler.TwistyWebAppContext.access$101(TwistyWebAppContext.java:40)
        at org.apache.geronimo.jetty6.handler.TwistyWebAppContext$TwistyHandler.handle(TwistyWebAppContext.java:65)
        at org.apache.geronimo.jetty6.handler.ThreadClassloaderHandler.handle(ThreadClassloaderHandler.java:46)
        at org.apache.geronimo.jetty6.handler.InstanceContextHandler.handle(InstanceContextHandler.java:67)
        at org.apache.geronimo.jetty6.handler.UserTransactionHandler.handle(UserTransactionHandler.java:48)
        at org.apache.geronimo.jetty6.handler.ComponentContextHandler.handle(ComponentContextHandler.java:47)
        at org.apache.geronimo.jetty6.handler.TwistyWebAppContext.handle(TwistyWebAppContext.java:59)
        at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:285)
        at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:126)
        at org.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatch(ServletExternalContextImpl.java:338)
        ... 44 more

The page in question - /run.jsp - looks as follows:

$ cat src/main/webapp/run.jsp
<%@ page session="true" contentType="text/html; charset=UTF-8"
isELIgnored="true" pageEncoding="UTF-8"%>

<%@ page import="com.tonbeller.jpivot.mondrian.MondrianModel" %>

<%@ taglib uri="http://www.tonbeller.com/jpivot" prefix="jp" %>
<%@ taglib uri="http://www.tonbeller.com/wcf" prefix="wcf" %>
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="http://restfaces.dev.java.net" prefix="rest"%>

<html>
  <head>
    <title>...</title>
    <base href="<c:out value='${pageContext.request.contextPath}' />/" />
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <link rel="stylesheet" type="text/css" href="<c:out
value='${pageContext.request.contextPath}'
/>/jpivot/table/mdxtable.css" />
    <link rel="stylesheet" type="text/css" href="<c:out
value='${pageContext.request.contextPath}' />/jpivot/navi/mdxnavi.css"
/>
    <link rel="stylesheet" type="text/css" href="<c:out
value='${pageContext.request.contextPath}' />/wcf/form/xform.css" />
    <link rel="stylesheet" type="text/css" href="<c:out
value='${pageContext.request.contextPath}' />/wcf/table/xtable.css" />
    <link rel="stylesheet" type="text/css" href="<c:out
value='${pageContext.request.contextPath}' />/wcf/tree/xtree.css" />

    <link rel="stylesheet" type="text/css" href="<c:out
value='${pageContext.request.contextPath}' />/css/dziekanat.css" />
    <link rel="stylesheet" type="text/css" href="<c:out
value='${pageContext.request.contextPath}' />/css/nowy-styl.css" />
    <link rel="stylesheet" type="text/css" href="<c:out
value='${pageContext.request.contextPath}' />/css/styles.css" />
  </head>
  <body>
    <c:if test="${empty query01}">
      <jsp:forward page='<c:out
value="${pageContext.request.contextPath}"
/>/faces/statystyka.xhtml'/>
    </c:if>

    <f:view>
    <div id="container">
      <div id="header">
        <!-- UWAGA: "Zmodyfikowana" na potrzeby JSP kopia views/header.xhtml -->
        <h:form>
          <table cellspacing="0" cellpadding="0" width="100%" border="0">
            <tbody>
              <tr bgcolor="#31529c">
                <td valign="bottom" width="79" background="<c:out
value='${pageContext.request.contextPath}' />/images/bludot.gif"
height="40">
                  <rest:link value="pokazKategorie" styleClass="menu-naglowek">
                    <f:param name="id" value="0"/>
                    <img height="24" alt="..." src="<c:out
value='${pageContext.request.contextPath}' />/images/us.gif"
width="79" align="left" border="0" />
                  </rest:link>
                </td>
                <td valign="top" width="100%" background="<c:out
value='${pageContext.request.contextPath}' />/images/bludot.gif"
height="40"></td>
                <td valign="top" width="25%" background="<c:out
value='${pageContext.request.contextPath}' />/images/bludot.gif"
height="40"></td>
                <td valign="top" width="25%" background="<c:out
value='${pageContext.request.contextPath}' />/images/bludot.gif"
height="40"></td>
                <td valign="top" width="25%" background="<c:out
value='${pageContext.request.contextPath}' />/images/bludot.gif"
height="40"></td>
                <td valign="top" width="25%" background="<c:out
value='${pageContext.request.contextPath}' />/images/bludot.gif"
height="40"><a

href="javascript:void(window.open('help/pomoc.htm','','toolbar=no,width=700,
height=400, resizable=yes,scrollbars=yes'))"><img
                  height="24" alt="... pomoc" src="<c:out
value='${pageContext.request.contextPath}' />/images/pomoc2.gif"
align="right" border="0" /></a></td>
              </tr>
              <tr bgcolor="#000000">
                <td valign="top" align="right" width="79px">
                  <rest:link value="pokazKategorie"
styleClass="menu-naglowek" style="color: orange; font-weight: bold;
text-decoration: none">
                    <f:param name="id" value="0"/>
                    STATYSTYKI
                  </rest:link>
                </td>
                <td class="topmenu" valign="bottom" align="center"
width="100%" colspan="5">
                  <rest:link value="pokazKategorie" styleClass="menu-naglowek">
                    <f:param name="id" value="0"/>
                    KATALOG
                  </rest:link>
                  <rest:link value="schema"
styleClass="menu-naglowek">MODEL DANYCH</rest:link>
                  <h:commandLink action="#{schema.wyloguj}"
styleClass="menu-naglowek">WYLOGUJ</h:commandLink>
                </td>
              </tr>
            </tbody>
          </table>
        </h:form>
      </div>
      ...the rest of this page removed for brevity's sake

Does anyone know why it happens on Geronimo 2.1.2/Jetty and neither
does it on Jetty standalone? It happens at

  <h:commandLink action="#{schema.wyloguj}"
styleClass="menu-naglowek">WYLOGUJ</h:commandLink>

which is fine as far as I can tell. Any help greatly appreciated. I'm
going to squeeze the page until the error vanishes, but would also
love receiving tips& tricks so I won't spend too much time on it.

Jacek

-- 
Jacek Laskowski
Notatnik Projektanta Java EE - http://www.JacekLaskowski.pl

Mime
View raw message