remove obsolete check from LocalizedImageResource
-------------------------------------------------
Key: WICKET-1728
URL: https://issues.apache.org/jira/browse/WICKET-1728
Project: Wicket
Issue Type: Bug
Components: wicket
Reporter: Peter Ertl
Attachments: wicket-1.3.x.patch, wicket-1.4.x.patch
When you try this:
JAVA
add(new Image("icon"));
HTML
<img wicket:id="icon" src="../../images/icon.gif"/>
You will fail with
WicketRuntimeException: "The 'src' attribute must not contain any of the
following strings: '..', './', '/.': ........
After some investigation I found that
org.apache.wicket.markup.html.image.resource.LocalizedImageResource
contains the following check:
private void loadStaticImage(final String path)
{
if ((path.indexOf("..") != -1) || (path.indexOf("./") != -1) ||
(path.indexOf("/.") != -1))
{
throw new WicketRuntimeException(
"The 'src' attribute must not contain any of
the following strings: '..', './', '/.': path=" +
path);
}
// SNIP
final Class scope = parent.getClass();
resourceReference = new ResourceReference(scope, path)
{
// SNIP
};
// SNIP
}
As some wicket devs will probably remember wicket couldn't handle
parent-relative (..) links in the past. However, since WICKET-1428 was applied
successfully this now works in 1.3 and 1.4. I removed the check and could
successfully test the above example.
The image link will looks like this:
resources/testapp.pages.TestPage/$up$/$up$/images/icon.gif
See https://issues.apache.org/jira/browse/WICKET-1428 for details.
So please remove that obsolete check (patches are included).
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.