Josh,

Thats what I thought originally.  This is for a ModalDialog using
Taha's addon.  When someone clicks "more info" it pops up with a modal
dialog box and the contents are determined by this method.  If I
return a String, Tapestry tries to find a page that matches the String
and return that instead of just rendering it in the modal dialog box.

Mark



On Thu, Jul 7, 2011 at 11:43 AM, Josh Canfield <joshcanfi...@gmail.com> wrote:
> Have you tried returning a String? There is a built-in TypeCoercer for
> String -> Renderable
>
> This is implemented using StringRenderable which uses write(text) (not
> writeRaw) so your html will be escaped.
>
> Josh
>
> On Thu, Jul 7, 2011 at 9:35 AM, Mark <mark-li...@xeric.net> wrote:
>> On Thu, Jul 7, 2011 at 6:34 AM, Thiago H. de Paula Figueiredo
>> <thiag...@gmail.com> wrote:
>>> On Thu, 07 Jul 2011 01:25:39 -0300, Mark <mark-li...@xeric.net> wrote:
>>>
>>>> Is there a better way to construct a block from a string in Java than
>>>> this?
>>>>
>>>>    Block onShowDialogFromMoreInfo(TicketClass ticketClass) {
>>>>        return  new RenderableAsBlock(new
>>>> StringRenderable(person.getInfo()));
>>>>    }
>>>
>>> Do you really need it to be a block? To pass it to Delegate? It doesn't need
>>> to be a block. It can also be a component or any object that implements
>>> RenderCommand. Why don't you just return a RenderCommand instance? Tapestry
>>> ultimately renders only RenderCommand's. Anything else which can be rendered
>>> implements RenderCommand (including BlockImpl) or converted to an instance
>>> of it.
>>
>> Ah ok.  So something along the lines of this?
>>
>>    Object onShowDialogFromMoreInfo(final Person person) {
>>        return new RenderCommand()
>>        {
>>            public void render(MarkupWriter writer, RenderQueue queue)
>>            {
>>                writer.writeRaw("<b>" + person.getName() + "</b>");
>>            }
>>        };
>>    }
>>
>> I was thinking that there should be a way to do it with just a string,
>> but I guess that won't work because a string will try to send the
>> browser to a new page instead of just updating the part that needs to
>> be updated.
>>
>> Mark
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
>> For additional commands, e-mail: users-h...@tapestry.apache.org
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
> For additional commands, e-mail: users-h...@tapestry.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org

Reply via email to