[
https://issues.apache.org/jira/browse/CLK-543?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Adrian A. updated CLK-543:
--------------------------
Description:
There doesn't seem to be any "simple link" control in Click to be able to
point to an arbitrary URL (internal but external too).
There's now the ExternalLink but it's just too specific :( - extending it would
conflict with it's name (maybe a rename would be better).
In many cases there's no distinction in the application between an internal an
external URL (e.g. because the external might be a subdomain).
Another problem is that AbstractLink is can't be used directly for these simple
cases (being abstract).
Basically a SimpleLink code would look like ExternalLink, but it would have
this additional snippet after L:106:
<code>
String ctxPath = getContext().getRequest().getContextPath();
if(!getTargetPath().contains("://")) {
buffer.append(ctxPath);
}
</code>
This would allow to use only one control, and in the application logic,
depending on the target, to let the control itself render the required context
path if needed.
----------------------------------------------------------------------
Update:
- Refactor abstract AbstractLink class to a concrete class, simply named "Link"
- Include basic Link functionality in this Link class - something like
SimpleLink and ExternalLink
- Deprecate ExternalLink
Users will be able to use the Link control directly so there will be no
confusions.
(Most of the time they use ActionLink without an action, because AbstractLink
is abstract)
was:
There doesn't seem to be any "simple link" control in Click to be able to
point to an arbitrary URL (internal but external too).
There's now the ExternalLink but it's just too specific :( - extending it would
conflict with it's name (maybe a rename would be better).
In many cases there's no distinction in the application between an internal an
external URL (e.g. because the external might be a subdomain).
Another problem is that AbstractLink is can't be used directly for these simple
cases (being abstract).
Basically a SimpleLink code would look like ExternalLink, but it would have
this additional snippet after L:106:
<code>
String ctxPath = getContext().getRequest().getContextPath();
if(!getTargetPath().contains("://")) {
buffer.append(ctxPath);
}
</code>
This would allow to use only one control, and in the application logic,
depending on the target, to let the control itself render the required context
path if needed.
Thank you,
A.
Fix Version/s: 2.2.0
Assignee: Adrian A.
Summary: Refactor AbstractLink to Link and include Simple/External
Link functionality. (was: SimpleLink control.)
> Refactor AbstractLink to Link and include Simple/External Link functionality.
> -----------------------------------------------------------------------------
>
> Key: CLK-543
> URL: https://issues.apache.org/jira/browse/CLK-543
> Project: Click
> Issue Type: New Feature
> Components: extras
> Reporter: Adrian A.
> Assignee: Adrian A.
> Fix For: 2.2.0
>
>
> There doesn't seem to be any "simple link" control in Click to be able to
> point to an arbitrary URL (internal but external too).
> There's now the ExternalLink but it's just too specific :( - extending it
> would conflict with it's name (maybe a rename would be better).
> In many cases there's no distinction in the application between an internal
> an external URL (e.g. because the external might be a subdomain).
> Another problem is that AbstractLink is can't be used directly for these
> simple cases (being abstract).
> Basically a SimpleLink code would look like ExternalLink, but it would have
> this additional snippet after L:106:
> <code>
> String ctxPath = getContext().getRequest().getContextPath();
> if(!getTargetPath().contains("://")) {
> buffer.append(ctxPath);
> }
> </code>
> This would allow to use only one control, and in the application logic,
> depending on the target, to let the control itself render the required
> context path if needed.
> ----------------------------------------------------------------------
> Update:
> - Refactor abstract AbstractLink class to a concrete class, simply named
> "Link"
> - Include basic Link functionality in this Link class - something like
> SimpleLink and ExternalLink
> - Deprecate ExternalLink
> Users will be able to use the Link control directly so there will be no
> confusions.
> (Most of the time they use ActionLink without an action, because AbstractLink
> is abstract)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.