Oops! Sorry I misunderstood your question.

If you want a clickable link, I don't think Errors component can do that.

http://tapestry.apache.org/5.3/apidocs/src-html/org/apache/tapestry5/corelib/components/Errors.html

The text message is written as writer.write() rather than writer.writeRaw()

You can create a new component for errors by copying the code from Errors and 
using writer.writeRaw 

http://tapestry.apache.org/5.3.7/apidocs/org/apache/tapestry5/MarkupWriter.html#writeRaw(java.lang.String)


then you can pass html string to form.recordError()

"<a href='" + link.toAbsoluteURI() + "'>here</a>"


regards
Taha

On Dec 19, 2013, at 3:24 AM, Chris Mylonas wrote:

> Thanks, but no again.
> 
> 
> form.recordError(commonNameField, "The ip address you entered is public and
> in use - please try again or search for it ${" + link.toAbsoluteURI() + "}"
> );
> 
> renders this as a string, and without the expansion-y ${} it's just plain
> old text.
> ${http://hplaptop:8080/MetwideSubnetsWeb/search/ipaddress}
> 
> 
> Similarly putting an <a href=\" + Link#toAbsoluteURI + \">blah</a>  just
> outputs text, like this:
> 
> &lt;a href="${http://hplaptop:8080/MetwideSubnetsWeb/search/ipaddress}"&gt;
> blah&lt;/a&gt;
> 
> (I've copy pasted html src.  In case it's not viewable, tapestry has
> converted the less than and greater than in the previous sentence to
> ampersand+elle+tee+semi-colon and ampersand+gee+tee+semi-colon,
> respectively)
> 
> 
> Form#recordError accepts a String.  So I'm starting to think this String is
> just rendered without any smarts to it.  Can't really fuse in a
> MarkupWriter, because recordError just accepts String.
> 
> 
> Any further ideas?
> 
> Can the Corelib.Errors component, rather than just being
> <t:errors />
> 
> be expanded to hold a <t:if> and ${expansion} for use in case of error?
> 
> Cheers
> Chris
> 
> 
> On Thu, Dec 19, 2013 at 2:26 AM, Taha Siddiqi <tawus.tapes...@gmail.com>wrote:
> 
>> Use Link#toAbsoluteURI() or Link#toURI() depending on your need( I think
>> here toAbsoluteURI() is more appropriate)
>> 
>> 
>> On Dec 18, 2013, at 8:32 PM, Chris Mylonas wrote:
>> 
>>> Thanks Taha - I was looking at the Link Component FAQ earlier scratching
>> my
>>> head.  It spits out the text for the link, not a html link.
>>> 
>>> So I tried this:
>>>           Link link = linkSource.createPageRenderLink(IPAddress.class);
>>>           if (ni != null) {
>>>               form.recordError(commonNameField, "The ip address you
>>> entered is public and in use - please try again or search for it <a
>>> href=\"" + link + "\">HERE</a>" );
>>>           }
>>> 
>>> and that just spits out text too.
>>> 
>>> 
>>> 
>>> Given it's 2am, I'm going to bed.  Try again tomorrow with a fresh head.
>>> Cheers,
>>> Chris
>>> 
>>> 
>>> 
>>> 
>>> On Wed, Dec 18, 2013 at 4:25 PM, Taha Hafeez Siddiqi <
>>> tawus.tapes...@gmail.com> wrote:
>>> 
>>>> You can use
>>>> 
>>>> 
>>>> 
>> http://tapestry.apache.org/5.3/apidocs/org/apache/tapestry5/services/PageRenderLinkSource.html#createPageRenderLink(java.lang.Class)
>>>> 
>>>> 
>>>> @Inject
>>>> private PageRenderLinkSource linkSource
>>>> 
>>>> form.recordError(someField, "my link is " +
>>>> linkSource.createPageRenderLink(MyPage.class));
>>>> 
>>>> there are other variants of createPageRenderLink which can take context
>>>> parameters.
>>>> 
>>>> regards
>>>> Taha
>>>> 
>>>> On 18-Dec-2013, at 8:18 AM, Chris Mylonas <ch...@opencsta.org> wrote:
>>>> 
>>>>> Hi Tapestry Users,
>>>>> 
>>>>> What is the best way to include a link to a page from the java class?
>>>>> 
>>>>> I have a form, returning an error that states: "The ip address you
>>>> entered
>>>>> is public and in use - please try again or search for it to see it's
>>>>> current use"
>>>>> 
>>>>> I would like to put a link in that error message to the search page.
>>>>> 
>>>>> It's just a standard form.recordErrors
>>>>> 
>>>>>              form.recordError(commonNameField, "The ip address you
>>>>> entered is public and in use - please try again or search (PUT LINK
>> HERE
>>>> TO
>>>>> SEARCH PAGE) for it to see it's current use");
>>>>> 
>>>>> Cheers
>>>>> Chris
>>>> 
>>>> 
>> 
>> 

Reply via email to