one of your UI beans can extend org.apache.struts2.components.Component e.g.
public class MyBean extend org.apache.struts2.components.Component { javax.servlet.ServletOutputStream stream; javax.servlet.http.HttpServletResponse res; then @Override protected String determineActionURL(String action, String namespace, String method, HttpServletRequest req, HttpServletResponse res, Map parameters, String scheme, boolean includeContext, boolean encodeResult, boolean forceAddSchemeHostAndPort, boolean escapeAmp) { this.res = res; try { stream=res.getOutputStream(); } catch(java.lang.Exception excp) { log.debug("OutputStream is null"+excp.getMessage()); } String finalAction = findString(action); String finalMethod = method != null ? findString(method) : method; String finalNamespace = determineNamespace(namespace, getStack(), req); ActionMapping mapping = new ActionMapping(finalAction, finalNamespace, finalMethod, parameters); String uri = actionMapper.getUriFromActionMapping(mapping); return UrlHelper.buildUrl(uri, req, res, parameters, scheme, includeContext, encodeResult, forceAddSchemeHostAndPort, escapeAmp); } ....... } http://java.sun.com/products/servlet/2.2/javadoc/javax/servlet/ServletResponse.html#getOutputStream() y/n? Martin ______________________________________________ Verzicht und Vertraulichkeitanmerkung/Note de déni et de confidentialité Diese Nachricht ist vertraulich. Sollten Sie nicht der vorgesehene Empfaenger sein, so bitten wir hoeflich um eine Mitteilung. Jede unbefugte Weiterleitung oder Fertigung einer Kopie ist unzulaessig. Diese Nachricht dient lediglich dem Austausch von Informationen und entfaltet keine rechtliche Bindungswirkung. Aufgrund der leichten Manipulierbarkeit von E-Mails koennen wir keine Haftung fuer den Inhalt uebernehmen. Ce message est confidentiel et peut être privilégié. Si vous n'êtes pas le destinataire prévu, nous te demandons avec bonté que pour satisfaire informez l'expéditeur. N'importe quelle diffusion non autorisée ou la copie de ceci est interdite. Ce message sert à l'information seulement et n'aura pas n'importe quel effet légalement obligatoire. Étant donné que les email peuvent facilement être sujets à la manipulation, nous ne pouvons accepter aucune responsabilité pour le contenu fourni. > Date: Thu, 11 Jun 2009 11:59:30 -0400 > Subject: Re: [OT]Moving from Struts2 to grails, your thoughts > From: w...@wantii.com > To: user@struts.apache.org > > On Thu, Jun 11, 2009 at 11:53 AM, Bhaarat Sharma<bhaara...@gmail.com> wrote: > > This might be too simple ...but how will i get the outputstream? > > lets say I have something like this > > > > if (addNewQuestion () == 1) > > { > > String numQsAdded = "<div > > id='message1'>"+getQuestion().substring(1, getQuestion().length())+"</div>"; > > //I want to put numQsAdded into a outputstream > > return NONE; > > } > > > > > > my action is implementing ServletRequestAware so I have access to > > the HttpServletRequest request > > > > > The OutputStream usually comes from the response (since you are > responding). I think you might be able to pull the ServletResponse out > of the ActionContext if you don't want to implement the interfaces. > > -Wes > > > > -- > Wes Wannemacher > Author - Struts 2 In Practice > Includes coverage of Struts 2.1, Spring, JPA, JQuery, Sitemesh and more > http://www.manning.com/wannemacher > > --------------------------------------------------------------------- > To unsubscribe, e-mail: user-unsubscr...@struts.apache.org > For additional commands, e-mail: user-h...@struts.apache.org > _________________________________________________________________ Windows Live™ SkyDrive™: Get 25 GB of free online storage. http://windowslive.com/online/skydrive?ocid=TXT_TAGLM_WL_SD_25GB_062009