I know your problems solved, but this is how I did it last night..
<ec:column property="actions" title=" ">
<ww:url id="editUrl" action="buildDefinition" method="input">
<ww:param
name="projectGroupId">${pageScope.buildDefinitionSummary.projectGroupId}</ww:param>
<ww:param
name="buildDefinitionId">${pageScope.buildDefinitionSummary.id}</ww:param>
</ww:url>
<ww:url id="removeUrl" action="removeGroupBuildDefinition">
<ww:param
name="projectGroupId">${pageScope.buildDefinitionSummary.projectGroupId}</ww:param>
<ww:param
name="buildDefinitionId">${pageScope.buildDefinitionSummary.id}</ww:param>
<ww:param name="confirmed" value="false"/>
</ww:url>
<ww:a href="%{editUrl}"><ww:text name="edit"/></ww:a>
<ww:a href="%{removeUrl}"><ww:text name="delete"/></ww:a>
</ec:column>
On 8/16/06, Kenney Westerhof <[EMAIL PROTECTED]> 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=" " 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=" " 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/
>>>
>>
>>
--
jesse mcconnell
[EMAIL PROTECTED]