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]

Reply via email to