Mailing Lists: Apple Mailing Lists

Image of Mac OS face in stamp
 
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Generate HTML from a WOComponent programmatically



override appendToResponse and do:

WOResponse newResponse = new WOResponse();
super.appendToResponse(newResponse, wocontext);
String yourChildrenAsText = newResponse.contentString();
String transformedText = // perform your transformation on yourChildrenAsText
originalResponse.appendContentString(transformedText);


I have no idea what happens if you try to do this from something outside of appendToResponse, though.

ms

On Mar 30, 2007, at 7:43 PM, Jacky Gagnon wrote:


On 07-03-30, at 17:13, Chuck Hill wrote:

This sounds like a terrible idea.

Yes I know ;-)

Why not use a WORepetition and some custom components? What are you trying to do that can't be done that way?

Its because I have already a Java class who can apply a complex transformation to my text, I just have to give tags to insert (like HTML, XML etc.) and this class know how to process the text to present the result. I just wanted to reuse it.


But if programmatically generate the HTML of subcomponent don't seem a reasonable thing to do or its not easy, I will go for another strategy (I have a plan B for using WORepetition and custom component :-) but will need more work :-( ).

Thanks Chuck.



Chuck

On Mar 30, 2007, at 1:38 PM, Jacky Gagnon wrote:

Hi,

I want to be able to generate HTML code from a WOComponent programmatically and insert the response into a String (to be display into a parent component).

I tried something like this :

public class ParentComponent extends WOComponent {
	
	//A WOString will display the result
	public String getText()
	{
		while ( iNeedMoreSubcomponent )
		{
			String htmlFromSubComponent = generateHTMLOfSubcomponent();

... code where I insert the result of the sub component into my text ...
}
return text;
}


//This sub component will contain component action and the result will be inserted into the "text"...
public String generateHTMLOfSubcomponent()
{
WOComponent subComponent = pageWithName("SubComponent");
String chaineHTML = resultAjax.generateResponse().contentString ();


			return chaineHTML;
	}

}

But the problem with this example is the value of context().page () (was ParentComponent), who is replaced by the SubComponent (in my case this will be a problem). If I create a new Context for the sub component, I will lost my session.

Is there a way to do this or I'm better to change strategy?

Thanks in advance.

Jacky
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/chill% 40global-village.net


This email sent to email@hidden

--

Practical WebObjects - for developers who want to increase their overall knowledge of WebObjects or who are trying to solve specific problems.
http://www.global-village.net/products/practical_webobjects







_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/mschrag% 40mdimension.com


This email sent to 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:
http://lists.apple.com/mailman/options/webobjects-dev/email@hidden

This email sent to email@hidden
References: 
 >Generate HTML from a WOComponent programmatically (From: Jacky Gagnon <email@hidden>)
 >Re: Generate HTML from a WOComponent programmatically (From: Chuck Hill <email@hidden>)
 >Re: Generate HTML from a WOComponent programmatically (From: Jacky Gagnon <email@hidden>)



Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2007 Apple Inc. All rights reserved.