Thanks Wong, yeah, I will try to implement your suggestion.. On Jan 22, 2008 12:07 AM, WongTseng <[EMAIL PROTECTED]> wrote:
> since the request is sent via ajax, so the browser side redirect can > not work. i suggest you don't redirect you user directly, instead you > send back a piece of js, let the js redirect the browser. > <script> > window.location='xxx'; > </script> > > 2008/1/21, Raghuveer Rawat <[EMAIL PROTECTED]>: > > Thanks Robi, I think you are right but how to come out of this ajax call > if > > something goes wrong.....sometimes I am getting some technical error and > > error page is also opening under target div. > > Is there anyone who faced this issue early? > > > > > > On Jan 21, 2008 3:29 PM, Roberto Nunnari <[EMAIL PROTECTED]> > wrote: > > > > > oopss.. sorry.. I read your post to fast and didn't notice you already > > > tried redirect-action.. > > > > > > I believe the problem is that it's not the browser who is getting the > > > redirect message from the server, but the ajax async call system, and > so > > > it puts the login form in the div, as it was instructed.. but as I'm > > > not an ajax guru, I could be wrong. > > > > > > Best regards. > > > > > > -- > > > Robi > > > > > > > > > Roberto Nunnari wrote: > > > > try this: > > > > > > > > <result name="login" type="redirect-action">login</result> > > > > > > > > Best regards. > > > > > > > > -- > > > > Robi > > > > > > > > > > > > Raghuveer Rawat wrote: > > > >> Hi, I have a requirement where only logged in users are allowed to > put > > > >> their > > > >> comment. I have implemented that form with struts2 ajax > theme...anchor > > > >> has > > > >> theme="ajax" > > > >> > > > >> If logged in user puts his comment then everything works fine > > > >> perfectly..I am able to see text message returned from action in > target > > > >> div.... > > > >> > > > >> But when a user who is not logged in and try to put this comment..I > > > >> want to > > > >> redirect user to login page..*but there what is happening here is > that > > > >> login > > > >> page is also streaming back and it is opening in target div..* > > > >> > > > >> Any idea how to redirect user to login page.. > > > >> > > > >> Below is my action class method.. > > > >> > > > >> public String addComment() { > > > >> try{ > > > >> UserTO userTo = null; > > > >> Object user = this.getSession().get("user"); > > > >> if(user == null){ > > > >> return Action.LOGIN; > > > >> }else{ > > > >> userTo = (UserTO) user; > > > >> } > > > >> this.getCommentTo().setUserId(userTo.getUserId()); > > > >> this.getCommentTo().setArticleId(this.getArticleId()); > > > >> > > > >> this.getCommentService().addComment(this.getCommentTo > ()); > > > >> HttpServletResponse response = > > > >> ServletActionContext.getResponse > > > >> (); > > > >> //inputStream = new StringBufferInputStream("Comment > Posted > > > >> Successfully."); > > > >> String successMsg = "Thanks for posting comment. Your > > > comment > > > >> has been added successfully."; > > > >> byte[] contents = successMsg.getBytes(); > > > >> response.getOutputStream().write(contents); > > > >> > > > >> }catch(Exception ex){ > > > >> LOG.error("Exception in myArticles():"+ ex); > > > >> return Action.ERROR; > > > >> } > > > >> return null; > > > >> } > > > >> > > > >> > > > >> This is my comment form... > > > >> > > > >> <div id='commentResponse'> > > > >> </div> > > > >> <s:form action="comments_addComment" method="post" > > > > >> > > > >> > > > >> <table width="583" border="0" cellspacing="2" > > > >> cellpadding="2"> > > > >> <tr> > > > >> <td width="99" align="left"><strong>Your > > > >> Comments</strong> > > > >> </td> > > > >> <td width="470" align="left"> > > > >> <s:textarea name="commentTo.comments" rows="5" > > > >> cols="40"></s:textarea> > > > >> <s:hidden name="articleId" value="${ > > > article.articleId > > > >> }"/></td> > > > >> </tr> > > > >> <tr> > > > >> <td align="left"> </td> > > > >> <td width="470" align="left"> > > > >> > > > >> <s:a theme="ajax" targets="commentResponse">Add > > > >> Comment</s:a> > > > >> </td> > > > >> </tr> > > > >> </table> > > > >> </s:form> > > > >> > > > >> Below is struts.xml entry..I am using tiles and default results are > > > tile > > > >> definitions....I also tried using redirect-action and redirect but > > > >> that also > > > >> give same problem.. > > > >> > > > >> <action name="comments_*" method="{1}" class=" > > > >> com.rawatsoft.write4smile.webapp.action.CommentAction"> > > > >> <result name="login">login</result> > > > >> > > > >> </action> > > > >> > > > > > > > > > > > > > --------------------------------------------------------------------- > > > > 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] > > > > > > > > > > > -- > Best Regards > Wong Tseng > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > >