Ok, the problem is resolved: I upgraded the web.xml to the 2.4
specification. Tomcat correctly uses the 1.0 jstl and applies other 2.3 behaviours if the web.xml is version 2.3, whereas jetty probably always uses the 2.4 spec, which is why that works there (although jetty:run
doesn't work here..).

I also updated the c:urls to ww:urls.

What I see is a lot of non-standard actions, like

<ww:url value="${notifier.type}NotifierEdit!default.action">.

Could this easily be changed to

<ww:url action="edit${notifier.type}Notifier">

? Seems cleaner to me.


Thanks for your patience and sorry about all the spam! :)

-- Kenney

Kenney Westerhof wrote:
(fwd again, now using correct address.. does anybody have a nice alternative for Thunderbird on linux? :/ )

---

Ok, I'm trying to get this to work.

It seems that the <ww: tags use OGNL expressions to set/get values from
the action. (I'm missing a design document on how actions/jsp/etc are
related, but I'm figuring it out... slowly..).

Code snippet from summary.jsp (simplified):

----
        <ec:table items="projects"
                  var="project">
          <ec:row highlightRow="true">
            <ec:column property="state" title="&nbsp;" width="1%"
cell="org.apache.maven.continuum.web.view.StateCell"/>
            <ec:column property="name"
title="summary.projectTable.name" width="48%">
              <a href="<ww:url action='projectView.action'>
                  <ww:param name='projectId' value='${project.id}' />
                </ww:url>">${project.name}</a>
            </ec:column>
---

 From what I understand the following happens when you go to
/summary.action:

* The SummaryAction class is executed and the summary.jsp used to render
  the output.

* The <ec:table> uses the SummaryAction.getProjects()'s value to iterate
  over the projects (how it retrieves that is a mystery; it must somehow
  be registered as a PageContext scope'd variable 'projects'??)
  The <ec:*> taglib only uses the JspPageContext e.a. to retrieve/store
  variables.

* The <ec:table> makes the current item (from the projects list)
  available in a variable 'project'. This is only so that the
  ${project.*} expressions in plain-text (i.e. not within <tags> and
  their parameters) can be evaluated by the JspWriter.

* Next taglib: webwork. The <ww:url> and <ww:param> values use OGNL
  expressions to evaluate parameters. So <ww:param . value="project.id">
  actually tries SummaryAction.getProject().getId().

* Since the extremecomponents taglib doesn't update the action with the
  current loop variable (call SummaryAction.setProject(project), which I
  added to test this), the <ww:param> tag doesn't work since the value
  can't be evaluated.

Some more strange things:

* ${project.id} works outside of tags (but inside <ec:column>), since
  'project' is a PageContext scoped variable.

* <c:set var="test" value="${project.id}"/> doesn't work; produces
  '${project.id}' for ${test}.

* <c:set var="test" property="${project.id}"/> doesn't work; produces
  '' for ${test}.

* <c:set var="test" property="project.id"/> doesn't work; produces
  '' for ${test}.

* <c:set var="test">${project.id}</c:set> doesn't work; produces
  '${project.id}' for ${test}.

Any ideas? Working examples? (not the <a href="<ww:url
action=".."/>?projectId=${project.id}">..</a> preferrably ;)

-- Kenney

Kenney Westerhof wrote:


Carlos Sanchez wrote:
i've seen this problem with tomcat. Works fine with jetty.

Aha.

I couldn't get jetty to work:

[continuum-webapp]$ mvn jetty:run
....

[INFO] Initializing JDO.
13:11:26,739 INFO JPOX.JDO [org.jpox.AbstractPersistenceManagerFactory] PersistenceManagerFactory - Vendor: JPOX Version: Unknown 13:11:26,745 INFO JPOX.JDO [org.jpox.AbstractPersistenceManagerFactory] PersistenceManagerFactory initialised for datastore URL=jdbc:derby:/vol/home/forge/work/opensource-rw/maven-trunks/continuum/continuum-webapp/src/main/webapp/WEB-INF/database;create=true driver=org.apache.derby.jdbc.EmbeddedDriver userName=sa 13:11:26,823 INFO org.quartz.simpl.RAMJobStore [org.quartz.simpl.RAMJobStore] RAMJobStore initialized. 13:11:26,824 INFO org.quartz.impl.StdSchedulerFactory [org.quartz.impl.StdSchedulerFactory] Quartz scheduler 'defaultScheduler' initialized from an externally provided properties instance. 13:11:26,826 INFO org.quartz.impl.StdSchedulerFactory [org.quartz.impl.StdSchedulerFactory] Quartz scheduler version: 1.4.5 13:11:26,828 INFO org.quartz.core.QuartzScheduler [org.quartz.core.QuartzScheduler] Scheduler defaultScheduler_$_NON_CLUSTERED started.
[WARNING] Could not find the executable 'ant' in the path '[]'.
[WARNING] Could not find the executable 'maven' in the path '[]'.
:WARN: failed [EMAIL PROTECTED]/,file:/vol/home/forge/work/opensource-rw/maven-trunks/continuum/continuum-webapp/src/main/webapp/}
:WARN:  failed [EMAIL PROTECTED]
:WARN:  failed [EMAIL PROTECTED]
:INFO:  Started SelectChannelConnector @ 0.0.0.0:9090
:WARN:  failed [EMAIL PROTECTED]
[INFO] Jetty server exiting.
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Failure

Embedded error: org.codehaus.plexus.PlexusContainerException: Error initializaing container in [EMAIL PROTECTED] Component composition failed. No field of type: 'interface org.apache.maven.MavenTools' exists in class 'org.apache.maven.project.DefaultMavenProjectBuilder'. Component: role: 'org.apache.maven.project.MavenProjectBuilder', implementation: 'org.apache.maven.project.DefaultMavenProjectBuilder' [INFO] ------------------------------------------------------------------------
[INFO] For more information, run Maven with the -e switch
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1 minute 24 seconds
[INFO] Finished at: Wed Aug 16 13:11:26 CEST 2006
[INFO] Final Memory: 18M/52M
[INFO] ------------------------------------------------------------------------
FATAL ERROR: Unable to configure the Maven application
For more information, run with the -e flag
:INFO:  Shutdown hook executing
:INFO:  Shutdown hook complete
13:11:28,867 INFO JPOX.RDBMS [org.jpox.store.rdbms.adapter.RDBMSAdapterFactory] RDBMS Adapter initialised : CloudscapeAdapter : Apache Derby version=10.1.2.1, major=10, minor=1, revision=2
Identifier Names : UPPERCASE
Driver name=Apache Derby Embedded JDBC Driver, version=10.1.2.1, major=10, minor=1 Identifier Max Lengths : Table=128 Column=128 Constraint=18 Index=18 Delimeters="
Identifier Support in DDL : catalog=false  schema=true
13:11:28,868 INFO JPOX.RDBMS.SCHEMA [org.jpox.store.rdbms.RDBMSManager] Initialising Catalog "", Schema "SA" using "SchemaTable" auto-start option 13:11:29,761 INFO JPOX.RDBMS.SCHEMA [org.jpox.store.rdbms.RDBMSManager] Catalog "", Schema "SA" initialised - managing 0 classes org.codehaus.plexus.personality.plexus.lifecycle.phase.StoppingException: Error storing the Continuum configuration. at org.apache.maven.continuum.DefaultContinuum.stopContinuum(DefaultContinuum.java:2077) at org.apache.maven.continuum.DefaultContinuum$1.run(DefaultContinuum.java:163) Caused by: org.apache.maven.continuum.configuration.ConfigurationStoringException: Error writting configuration to database. at org.apache.maven.continuum.configuration.DefaultConfigurationService.store(DefaultConfigurationService.java:270) at org.apache.maven.continuum.DefaultContinuum.stopContinuum(DefaultContinuum.java:2073)
        ... 1 more
Caused by: org.apache.maven.continuum.store.ContinuumStoreException: Not detached: null at org.apache.maven.continuum.store.JdoContinuumStore.updateObject(JdoContinuumStore.java:602) at org.apache.maven.continuum.store.JdoContinuumStore.updateSystemConfiguration(JdoContinuumStore.java:1045) at org.apache.maven.continuum.configuration.DefaultConfigurationService.store(DefaultConfigurationService.java:266)
        ... 2 more
Caused by: org.codehaus.plexus.jdo.PlexusStoreException: Not detached: null at org.codehaus.plexus.jdo.PlexusJdoUtils.updateObject(PlexusJdoUtils.java:74) at org.apache.maven.continuum.store.JdoContinuumStore.updateObject(JdoContinuumStore.java:598)
        ... 4 more


I thought this was fixed?

Any idea?

-- Kenney


Please add a jira to put back the right url composition, your changes
won't work in some cases (we just moved all url composition to use
c:url)

On 8/15/06, Brett Porter <[EMAIL PROTECTED]> wrote:
There are two versions of c: - core, and core_rt. If you are including a
TLD in the webapp, make sure you have the right one.

I usually just omit the tlds in the webapp and use:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"; %>
(note this is JSTL 1.1, the URL is different for JSTL 1.0, which might
also be the problem).

This gets pulled from the JAR. Seems to work just fine in MRM.

- Brett

On 16/08/2006 11:41 AM, [EMAIL PROTECTED] wrote:
> Author: kenney
> Date: Tue Aug 15 18:41:17 2006
> New Revision: 431764
>
> URL: http://svn.apache.org/viewvc?rev=431764&view=rev
> Log:
> Use <c:url because of the url completion, but not c:param (for now).
>
> <c:*> tags don't evaluate the expressions, somehow. Not sure why this doesn't
> work..
>
> This problem also exists in schedules.jsp (and probably other places).
>
> Added a workaround for the main page for now.
>
> Modified:
> maven/continuum/trunk/continuum-webapp/src/main/webapp/summary.jsp
>
> Modified: maven/continuum/trunk/continuum-webapp/src/main/webapp/summary.jsp > URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-webapp/src/main/webapp/summary.jsp?rev=431764&r1=431763&r2=431764&view=diff > ============================================================================== > --- maven/continuum/trunk/continuum-webapp/src/main/webapp/summary.jsp (original) > +++ maven/continuum/trunk/continuum-webapp/src/main/webapp/summary.jsp Tue Aug 15 18:41:17 2006
> @@ -19,13 +19,8 @@
>            <ec:row highlightRow="true">
> <ec:column property="state" title="&nbsp;" width="1%" cell="org.apache.maven.continuum.web.view.StateCell"/> > <ec:column property="name" title="summary.projectTable.name" width="48%"> > - <!--this doesn't work as the project.id isn't interpolated > - <c:url var="projectViewUrl" value="/projectView.action">
> -                  <c:param name="projectId" value="${project.id}"/>
> -                </c:url>
> - <a href="<c:out value='${projectViewUrl}'/>">${project.name}</a>
> -                -->
> - <a href="/projectView.action?projectId=${project.id}">${project.name}</a> > + <c:url var="projectViewUrl" value="/projectView.action"/> > + <a href="<c:out value='${projectViewUrl}?projectId=${project.id}'/>">${project.name}</a>
>              </ec:column>
> <ec:column property="version" title="summary.projectTable.version" width="13%"/> > <ec:column property="buildNumber" title="summary.projectTable.build" width="5%" cell="org.apache.maven.continuum.web.view.BuildCell"/>
>
>


--
Apache Maven - http://maven.apache.org/
Better Builds with Maven - http://library.mergere.com/




Reply via email to