I know your problems solved, but this is how I did it last night..

           <ec:column property="actions" title="&nbsp;">
                <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>
               &nbsp;
               <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="&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/
>>>
>>
>>





--
jesse mcconnell
[EMAIL PROTECTED]

Reply via email to