Done :)
https://issues.apache.org/jira/browse/WICKET-1200
-- Edvin
Eelco Hillenius skrev:
Can you please open an issue for that and attach this code to it?
Thanks,
Eelco
On Dec 2, 2007 3:28 PM, Edvin Syse <[EMAIL PROTECTED]> wrote:
I now did the following, and still got the error:
mvn archetype:create -DarchetypeGroupId=org.apache.wicket \
-DarchetypeArtifactId=wicket-archetype-quickstart \
-DarchetypeVersion=1.3.0-rc1 \
-DgroupId=no.sysedata \
-DartifactId=enclosurebug
mvn eclipse:eclipse
/src/main/java/no/sysedata/HomePage.java:
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";
}
}));
}
}
/src/main/java/no/sysedata/HomePage.html:
<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 I run it, I 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.
I'm very sorry if I'm missing something here and wasting everyones time, but to
me it seems like a bug :)
-- Edvin
Eelco Hillenius skrev:
That is very strange. It shouldn't be called, as the model object is
only requested when a component that is rendering requests it. Are you
really sure? Can you create a test case for this, or a quickstart
project that shows the problem and attach it to a JIRA issue please?
Eelco
On Nov 29, 2007 1:22 PM, Edvin Syse <[EMAIL PROTECTED]> wrote:
I'm wondering if this is expected behaviour:
Create a <wicket:enclosure> element around to Labels, and let one of them be the
child="" referenced in the enclosure tag. Let that Label
return false on isVisible(). Even though the other Label isn't rendered, the
getObject() method of it's model is still called. Do I need to
override isVisible() on all components inside an enclosure to avoid this, or am
I missing something?
Markup:
<wicket:enclosure child="label1">
<span wicket:id="label1">Label 1</span>
<span wicket:id="label2">Label 2</span>
</wicket:enclosure>
Java:
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";
}
}));
Everytime the page is loaded, I get the output to stdout from the getObject()
method of label2. If I add a isVisible() to label2 which
returns false, everything is ofcourse dandy.
Sincerely,
Edvin Syse
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]