[
https://issues.apache.org/jira/browse/WICKET-1200?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Frank Bille Jensen updated WICKET-1200:
---------------------------------------
Fix Version/s: (was: 1.3.0-rc3)
1.3.0-final
> <wicket:enclosure> bug, still calls getObject() on enclosed Models even if
> the content isn't rendered
> -----------------------------------------------------------------------------------------------------
>
> Key: WICKET-1200
> URL: https://issues.apache.org/jira/browse/WICKET-1200
> Project: Wicket
> Issue Type: Bug
> Components: wicket
> Affects Versions: 1.3.0-rc1
> Environment: n/a
> Reporter: Edvin Syse
> Assignee: Juergen Donnerstag
> Fix For: 1.3.0-final
>
>
> Steps to reproduce:
> - Create a quickstart project:
> mvn archetype:create -DarchetypeGroupId=org.apache.wicket \
> -DarchetypeArtifactId=wicket-archetype-quickstart \
> -DarchetypeVersion=1.3.0-rc1 \
> -DgroupId=no.sysedata \
> -DartifactId=enclosurebug
> mvn eclipse:eclipse
> - Add two labels to HomePage.java. Let Label1 return isVisible=false, and
> implement a Model where getObject() writes to stdout for Label2:
> package no.sysedata;
> import org.apache.wicket.PageParameters;
> import org.apache.wicket.markup.html.basic.Label;
> import org.apache.wicket.markup.html.WebPage;
> import org.apache.wicket.model.Model;
> public class HomePage extends WebPage {
> private static final long serialVersionUID = 1L;
> public HomePage(final PageParameters parameters) {
> add(new Label("label1") {
> @Override public boolean isVisible() {
> return false;
> }
> });
> add(new Label("label2", new Model() {
> @Override public Object getObject() {
> System.out.println("Getting object of model 2");
> return "MODEL2 OBJECT";
> }
> }));
> }
> }
> - In HomePage.html, add an enclosure around the two labels and let label1 be
> the controlling component for the enclosure:
> <html>
> <head>
> <title>Wicket Enclosure Bug</title>
> </head>
> <body>
> <wicket:enclosure child="label1">
> <span wicket:id="label1">Label 1</span>
> <span wicket:id="label2">Label 2</span>
> </wicket:enclosure>
> </body>
> </html>
> - When you run the project, you'll get the following on stdout:
> "Getting object of model 2"
> And the rendered HTML when hitting the homepage is:
> <html>
> <head>
> <title>Wicket Enclosure Bug</title>
> </head>
> <body>
> <wicket:enclosure child="label1"></wicket:enclosure>
> </body>
> </html>
> If I add:
> @Override protected void init() {
> getMarkupSettings().setStripWicketTags(true);
> }
> to WicketApplication.java, the markup is:
> <html>
> <head>
> <title>Wicket Enclosure Bug</title>
> </head>
> <body>
>
> </body>
> </html>
> .. but the stdout is still the same.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.