tapestry-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Howard M. Lewis Ship (JIRA)" <...@tapestry.apache.org>
Subject [jira] Closed: (TAPESTRY-2394) clientid not rendered for pagelink or actionlink (with no zone parameter)
Date Sun, 04 May 2008 17:36:55 GMT

     [ https://issues.apache.org/jira/browse/TAPESTRY-2394?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

Howard M. Lewis Ship closed TAPESTRY-2394.

    Resolution: Invalid
      Assignee: Howard M. Lewis Ship

This is by design, to decrease the amount of markup sent to the client (in this case, all
those id attributes).  If you need to ensure that your components render a unique id, then
you need to inject them and invoke getClientId().  Alternately, you could create a mixin to
invoke getClientId() (that's a better solution, in fact).

> clientid not rendered for pagelink or actionlink (with no zone parameter) 
> --------------------------------------------------------------------------
>                 Key: TAPESTRY-2394
>                 URL: https://issues.apache.org/jira/browse/TAPESTRY-2394
>             Project: Tapestry
>          Issue Type: Bug
>          Components: Core Components
>    Affects Versions: 5.0.12
>         Environment: Any
>            Reporter: Steven Woolley
>            Assignee: Howard M. Lewis Ship
> the clientid is no longer rendered for pagelinks or actionlinks.  The cause (from walking
through the debugger) is this:
> For actionlinks:
> when there is no zone parameter, the call to getClientId() on the actionlink is never
made, and thus the clientid is never rendered.  Pagelink's simply never make a call to getClientId().
> This line in AbstractComponentEventLink's beginrender hilights the issue culprit:
>  if (_zone != null) _clientBehaviorSupport.linkZone(getClientId(), _zone);
> For pagelinks, there is simply no call to getClientId() anywhere in its rendering.
> I just double checked, very latest snapshot from maven:
> http://tapestry.formos.com/maven-snapshot-repository//org/apache/tapestry/tapestry-core/5.0.12-SNAPSHOT/tapestry-core-5.0.12-20080428.110035-48.jar
> Test.java:
> package org.example.myapp.pages;
> public class Test {
> }
> Test.tml:
> <html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd">
>     <head><title>test</title></head>
>     <body>
>     <a t:id="addSongsToList" t:type="actionlink" ></a>
>     </body>
> </html>
> renders:
> <html><head><link href="assets/tapestry/5.0.12-SNAPSHOT/default.css" rel="stylesheet"
type="text/css"><title>test</title></head><body><a href="test.addsongstolist"></a></body></html>
> Same thing in a loop renders:
> <html><head><link href="assets/tapestry/5.0.12-SNAPSHOT/default.css" rel="stylesheet"
type="text/css"><title>test</title></head><body><a href="test.addsongstolist"></a><a
href="test.addsongstolist"></a><a href="test.addsongstolist"></a></body></html>
> And if I explicitly set the id="something":
> <html><head><link href="assets/tapestry/5.0.12-SNAPSHOT/default.css" rel="stylesheet"
type="text/css"><title>test</title></head><body><a href="test.addsongstolist"
id="something"></a><a href="test.addsongstolist" id="something"></a><a
href="test.addsongstolist" id="something"></a></body></html>
> Also double checked in 5.0.11 and it works as expected:
> Test.tml:
> <html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd">
>     <head><title>test</title></head>
>     <body>
>     <t:loop source="1..3">
>     	<a t:id="addSongsToList" t:type="actionlink" ></a>
>  		</t:loop>
>     </body>
> </html>
> renders:
> <html><head><link href="assets/tapestry/default.css" rel="stylesheet"
type="text/css"><title>test</title></head><body><a href="test.addsongstolist"
id="addSongsToList"></a><a href="test.addsongstolist" id="addSongsToList_0"></a><a
href="test.addsongstolist" id="addSongsToList_1"></a></body></html>

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org

View raw message