You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@wicket.apache.org by Luther Baker <lu...@gmail.com> on 2009/06/20 13:55:05 UTC
Extending AutoLinkResolver
Is there a programmatic way to override or submit an AutoLink Resolver?
For instance, I'd like to resolve something like <link
href='xxx'differently (e.g.: prepend the app context instead of
prepending
resources/classpath ... to look in the web root directory instead of the
classpath).
<link href="css/standard.css"/>
becomes
<link href="/context/css/standard.css"/>
Thanks,
-Luther
public AutoLinkResolver()
{
// register tag reference resolvers
TagReferenceResolver hrefTagReferenceResolver = new
TagReferenceResolver("href");
TagReferenceResolver srcTagReferenceResolver = new
TagReferenceResolver("src");
tagNameToTagReferenceResolvers.put("a", hrefTagReferenceResolver);
tagNameToTagReferenceResolvers.put("link",
hrefTagReferenceResolver);
tagNameToTagReferenceResolvers.put("script",
srcTagReferenceResolver);
tagNameToTagReferenceResolvers.put("img", srcTagReferenceResolver);
tagNameToTagReferenceResolvers.put("input",
srcTagReferenceResolver);
tagNameToTagReferenceResolvers.put("embed",
srcTagReferenceResolver);
// register autolink resolver delegates
tagNameToAutolinkResolverDelegates.put("a", new
AnchorResolverDelegate());
* tagNameToAutolinkResolverDelegates.put("link",
new ResourceReferenceResolverDelegate("href"));*
ResourceReferenceResolverDelegate srcResRefResolver = new
ResourceReferenceResolverDelegate(
"src");
tagNameToAutolinkResolverDelegates.put("script", srcResRefResolver);
tagNameToAutolinkResolverDelegates.put("img", srcResRefResolver);
tagNameToAutolinkResolverDelegates.put("input", srcResRefResolver);
tagNameToAutolinkResolverDelegates.put("embed", srcResRefResolver);
}
Re: Extending AutoLinkResolver
Posted by Igor Vaynberg <ig...@gmail.com>.
you can write your own tags that do what you want. changing a standard
tag to work differently is a bad idea because it will affect all 3rd
party components you use in your project in unexpected ways.
-igor
On Mon, Jun 22, 2009 at 6:15 AM, Luther Baker<lu...@gmail.com> wrote:
> Thoughts?
> -Luther
>
>
> On Sat, Jun 20, 2009 at 6:55 AM, Luther Baker <lu...@gmail.com> wrote:
>
>> Is there a programmatic way to override or submit an AutoLink Resolver?
>>
>> For instance, I'd like to resolve something like <link href='xxx'differently (e.g.: prepend the app context instead of prepending
>> resources/classpath ... to look in the web root directory instead of the
>> classpath).
>>
>> <link href="css/standard.css"/>
>>
>> becomes
>>
>> <link href="/context/css/standard.css"/>
>>
>> Thanks,
>>
>> -Luther
>>
>>
>>
>> public AutoLinkResolver()
>> {
>> // register tag reference resolvers
>> TagReferenceResolver hrefTagReferenceResolver = new
>> TagReferenceResolver("href");
>> TagReferenceResolver srcTagReferenceResolver = new
>> TagReferenceResolver("src");
>> tagNameToTagReferenceResolvers.put("a", hrefTagReferenceResolver);
>> tagNameToTagReferenceResolvers.put("link",
>> hrefTagReferenceResolver);
>> tagNameToTagReferenceResolvers.put("script",
>> srcTagReferenceResolver);
>> tagNameToTagReferenceResolvers.put("img", srcTagReferenceResolver);
>> tagNameToTagReferenceResolvers.put("input",
>> srcTagReferenceResolver);
>> tagNameToTagReferenceResolvers.put("embed",
>> srcTagReferenceResolver);
>>
>> // register autolink resolver delegates
>> tagNameToAutolinkResolverDelegates.put("a", new
>> AnchorResolverDelegate());
>> * tagNameToAutolinkResolverDelegates.put("link",
>> new ResourceReferenceResolverDelegate("href"));*
>> ResourceReferenceResolverDelegate srcResRefResolver = new
>> ResourceReferenceResolverDelegate(
>> "src");
>> tagNameToAutolinkResolverDelegates.put("script",
>> srcResRefResolver);
>> tagNameToAutolinkResolverDelegates.put("img", srcResRefResolver);
>> tagNameToAutolinkResolverDelegates.put("input", srcResRefResolver);
>> tagNameToAutolinkResolverDelegates.put("embed", srcResRefResolver);
>> }
>>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org
Re: Extending AutoLinkResolver
Posted by Luther Baker <lu...@gmail.com>.
Thoughts?
-Luther
On Sat, Jun 20, 2009 at 6:55 AM, Luther Baker <lu...@gmail.com> wrote:
> Is there a programmatic way to override or submit an AutoLink Resolver?
>
> For instance, I'd like to resolve something like <link href='xxx'differently (e.g.: prepend the app context instead of prepending
> resources/classpath ... to look in the web root directory instead of the
> classpath).
>
> <link href="css/standard.css"/>
>
> becomes
>
> <link href="/context/css/standard.css"/>
>
> Thanks,
>
> -Luther
>
>
>
> public AutoLinkResolver()
> {
> // register tag reference resolvers
> TagReferenceResolver hrefTagReferenceResolver = new
> TagReferenceResolver("href");
> TagReferenceResolver srcTagReferenceResolver = new
> TagReferenceResolver("src");
> tagNameToTagReferenceResolvers.put("a", hrefTagReferenceResolver);
> tagNameToTagReferenceResolvers.put("link",
> hrefTagReferenceResolver);
> tagNameToTagReferenceResolvers.put("script",
> srcTagReferenceResolver);
> tagNameToTagReferenceResolvers.put("img", srcTagReferenceResolver);
> tagNameToTagReferenceResolvers.put("input",
> srcTagReferenceResolver);
> tagNameToTagReferenceResolvers.put("embed",
> srcTagReferenceResolver);
>
> // register autolink resolver delegates
> tagNameToAutolinkResolverDelegates.put("a", new
> AnchorResolverDelegate());
> * tagNameToAutolinkResolverDelegates.put("link",
> new ResourceReferenceResolverDelegate("href"));*
> ResourceReferenceResolverDelegate srcResRefResolver = new
> ResourceReferenceResolverDelegate(
> "src");
> tagNameToAutolinkResolverDelegates.put("script",
> srcResRefResolver);
> tagNameToAutolinkResolverDelegates.put("img", srcResRefResolver);
> tagNameToAutolinkResolverDelegates.put("input", srcResRefResolver);
> tagNameToAutolinkResolverDelegates.put("embed", srcResRefResolver);
> }
>