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] > >