[
https://issues.apache.org/jira/browse/TAP5-1600?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13082275#comment-13082275
]
Pedro Ayala edited comment on TAP5-1600 at 8/10/11 10:56 AM:
-------------------------------------------------------------
The problem we are having is not exactly the same as your code:
<html t:type="Border"
xmlns:t="http://tapestry.apache.org/schema/tapestry_5_3.xsd">
<t:delegate to="selectBlock"/>
<t:block id="zen">
<t:actionlink t:id="goForBroke">go for broke</t:actionlink>
</t:block>
<t:block id="nez">
<t:form t:id="nezForm"> form content </t:form>
</t:block>
</html>
package org.apache.tapestry5.integration.app1.pages;
import org.apache.tapestry5.alerts.AlertManager;
import org.apache.tapestry5.ioc.annotations.Inject;
import org.apache.tapestry5.Block;
import org.apache.tapestry5.annotations.OnEvent;
import org.apache.tapestry5.EventConstants;
import org.apache.tapestry5.annotations.Component;
public class ComponentInsideBlockDemo
{
@Inject
private AlertManager mgr;
@Inject
private Block zen;
public Block getSelectedBlock() {
return zen;
}
void onActionFromGoForBroke() {
mgr.info("Go For Broke Clicked");
}
@OnEvent(component = "nezForm", value = EventConstants.SUBMIT)
public Object submitNezForm() {
mgr.info("submit nez form");
}
}
Because the "nez" block is not render into the DOM tapestry is complaining
about can't find the "nezForm" component. This issue still happens even if
getSelectedBlock can return both method just depending of some parameter or
other variable.
was (Author: pjayala):
The problem we are having is not exactly the same as your code:
<html t:type="Border"
xmlns:t="http://tapestry.apache.org/schema/tapestry_5_3.xsd">
<t:delegate to="selectBlock"/>
<t:block id="zen">
<t:actionlink t:id="goForBroke">go for broke</t:actionlink>
</t:block>
<t:block id="nez">
<t:form t:id="nezForm"> form content </t:form>
</t:block>
</html>
package org.apache.tapestry5.integration.app1.pages;
import org.apache.tapestry5.alerts.AlertManager;
import org.apache.tapestry5.ioc.annotations.Inject;
import org.apache.tapestry5.Block;
import org.apache.tapestry5.annotations.OnEvent;
import org.apache.tapestry5.EventConstants;
import org.apache.tapestry5.annotations.Component;
public class ComponentInsideBlockDemo
{
@Inject
private AlertManager mgr;
@Inject
private Block zen;
public Block getSelectedBlock() {
return zen;
}
void onActionFromGoForBroke() {
mgr.info("Go For Broke Clicked");
}
@OnEvent(component = "nezForm", value = EventConstants.SUBMIT)
public Object submitNezForm() {
mgr.info("submit nez form");
}
}
Because the "nez" block is not render into the DOM tapestry is complaining
about can't find the "nezForm" component.
> A component that is defined inside a <t:block> does not appear as an embedded
> component, causing page-load exceptions on the event handlers for the
> embedded component
> ----------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: TAP5-1600
> URL: https://issues.apache.org/jira/browse/TAP5-1600
> Project: Tapestry 5
> Issue Type: Bug
> Components: tapestry-core
> Affects Versions: 5.3
> Reporter: Howard M. Lewis Ship
> Assignee: Howard M. Lewis Ship
>
> Reported from ProQuest, but not yet verified.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira