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">&nbsp;</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]
>
>

Reply via email to