Struggling with D2W Custom Components, how to get a Custom Component Page?
Struggling with D2W Custom Components, how to get a Custom Component Page?
- Subject: Struggling with D2W Custom Components, how to get a Custom Component Page?
- From: Johan Henselmans <email@hidden>
- Date: Thu, 16 Dec 2010 21:04:04 +0100
Here's the idea:
I have a custom component page from somewhere else with javascript that does a whole bunch of calculations based on values of an EO.
No problem, I thought, according to the D2W Rules References I follow rule 7:
(http://wiki.objectstyle.org/confluence/display/WO/D2W+Rules+Reference+-+Cookbook+-+FAQ)
7. How do I easily use my own custom component in a Direct to Web page?
Step 1:
Add the following rules to your rule file:
100: pageConfiguration = "ListTheEntity" and propertyKey = "theProperty" => componentName = "D2WCustomComponent"
100: pageConfiguration = "ListTheEntity" and propertyKey = "theProperty" => customComponentName = "MyThePropertyComponent"
Step 2:
Create a component in your project named 'MyThePropertyComponent' and give it an 'object' and 'key' binding. The object will receive the current object, and the key will receive the current propertyKey (as a string) from DirectToWeb. Do with them what you will.
public
EOEnterpriseObject object() {
return (EOEnterpriseObject) valueForBinding("object"
);
}
public String
key() {
return (String) valueForBinding("key"
);
}
So I add these methods, but removed this propertyKey thingy because I want my the entity to be used as the object.
Im my situatiion:
100: pageConfiguration = "InspectTheEntity" => componentName = "D2WCustomComponent"
100: pageConfiguration = "InspectTheEntity" => customComponentName = "MyNiceJavascriptAndAllPage"
first I had to add some extra methods to this page, because WebObjects complained it could not set object and key values, so I added:
public void setObject(EOEnterpriseObject anObject) {
currentObject = anObject;
}
public void setKey(String aKey) {
currentkey = aKey;
}
But then it displayed the page.
20 times.
I get a display of my custom page for all the components in the page. So component 1 displays a complete empty page, component 2 etc. None of my EOEnterprise values are displayed from the EOObject that I selected.
I must be missing something. I understood that the object would pass through the current select enterprise object, and I could use that to fill in the values in my custom page. Apparently, that is not the case. I tried to find some customcomponent in the d2wmodels of BugTracker or ERMoviesDemo, but did not find anything over there.
Can someone enlighten me?
Johan Henselmans
email@hidden
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden