public abstract class RenderBlock extends AbstractComponent
Block
component. [ Component Reference ]
It is possible for an RenderBlock to obtain a Block from a page other than the render page. This works, even when the Block contains links, forms and form components. The action and direct services will create URLs that properly address this situation.
However, because the rendering page can't know ahead of time about these foreign Blocks,
PageBeginRenderListener
and
PageEndRenderListener
methods (for components and objects of the
foreign page) via RenderBlock will not be executed. This specifically affects the
methods of the PageBeginRenderListener
and
PageEndRenderListener
interfaces.
Before rendering its Block
, RenderBlock will set itself as the Block's inserter, and
will reset the inserter after the Block
is rendered. This gives the components contained
in the Block
access to its inserted environment via the RenderBlock. In particular this
allows the contained components to access the informal parameters of the RenderBlock which
effectively allows parameters to be passed to the components contained in a Block.
Constructor and Description |
---|
RenderBlock() |
Modifier and Type | Method and Description |
---|---|
abstract Block |
getBlock() |
protected void |
renderComponent(IMarkupWriter writer,
IRequestCycle cycle)
If block is not null, then
Block.renderForComponent(IMarkupWriter, IRequestCycle, IComponent) is invoked. |
addAsset, addBody, addComponent, checkActiveLock, cleanupAfterRender, enterActiveState, finishLoad, finishLoad, format, format, format, format, getAsset, getAssets, getBeans, getBinding, getBindingNames, getBindings, getBody, getBodyCount, getComponent, getComponents, getContainedComponent, getContainer, getExtendedId, getId, getIdPath, getListeners, getMessage, getMessages, getNamespace, getPage, getProperty, getSpecification, isInActiveState, isParameterBound, isRendering, pageEndRender, prepareForRender, render, renderBody, renderInformalParameters, setBinding, setContainedComponent, setContainer, setId, setNamespace, setPage, setProperty, toString
public RenderBlock()
protected void renderComponent(IMarkupWriter writer, IRequestCycle cycle)
Block.renderForComponent(IMarkupWriter, IRequestCycle, IComponent)
is invoked.renderComponent
in class AbstractComponent