struts-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dave Newton <davelnew...@gmail.com>
Subject Re: struts2-jquery-plugin: form submit returns twice the submit and textfield
Date Tue, 28 Feb 2012 23:50:34 GMT
You update the div with the same jsp as the form, so you're adding the page
to itself.

d.

(pardon brevity and typos, on cell)
On Feb 28, 2012 6:44 PM, "Mounir Benzid" <mb@meetingmasters.de> wrote:

> Here's a simple enough example of how to use the <sj:a> tag available in
> the struts2-jquery plugin (v 3.2.1)
> http://www.weinfreund.de/**struts2-jquery-showcase/index.**action<http://www.weinfreund.de/struts2-jquery-showcase/index.action>
>
>
> Well what I get though  is somehow mysterious (to me).
>
> The first time when I call the action [1] given by its URL
> http://localhost:8080/myApp/**test/me<http://localhost:8080/myApp/test/me>
> I get the correct server response, that is
>
> - a line saying "Echo: Hello me!"
> - underneath it a textfield containig the phrase "Hello me !"
> - followed by a submit button
>
> This is what it looks like:
> Before: http://i40.tinypic.com/vf8782.**jpg<http://i40.tinypic.com/vf8782.jpg>
>
> Nice.
>
> But after I submit the form the textfield and the submit button get
> somehow mysteriously duplicated! (but not the "Echo:..." textline)
>
> So there's still the initial textfield with the updated Hello +
> whatever-you-typed-in phrase but yet another textfield and yet another
> submit button.
>
> The only difference I can tell between the initial and the duplicated
> textfield is that the latter never gets a refresh.
> It always contains the initial "Hello me !" phrase.
>
> This is how it looks like after the submit:
> After: http://i41.tinypic.com/2ji44j.**jpg<http://i41.tinypic.com/2ji44j.jpg>
>
> Maybe someone can tell what I'm missing here.
> Thanks!
>
>
> [1] http://pastebin.com/Wq0Ek1H4 <http://pastebin.com/Wq0Ek1H4>**(Action
> class)
>
> [2] http://pastebin.com/6yF2xwu4 (jsp)
>
> ------------------------------**------------------------------**
> ------------------------------**------------------------------**
> ------------------------------**----------------------
>
> [1] ACTION class
>
> package xxx.actions.yyy;
>
> import org.apache.log4j.Logger;
> import org.apache.struts2.convention.**annotation.Action;
> import org.apache.struts2.convention.**annotation.Actions;
> import org.apache.struts2.convention.**annotation.Namespace;
> import org.apache.struts2.convention.**annotation.Result;
>
> import com.opensymphony.xwork2.**ActionSupport;
>
> @Namespace("/test")
> public class HelloWorldAction extends ActionSupport {
>
>    public String getYourName() {return yourName; }
>    public void setYourName(String value) {this.yourName = value;}
>
>    @Actions({
>        @Action(value="{yourName}", results={@Result(location =
> "test.jsp")}),
>        @Action(value="put", results={@Result(location = "test.jsp")})
>    })
>    public String execute() {
>        yourName = "Hello " +  yourName + " !";
>        logger.debug("execute: " + yourName);
>        return SUCCESS;
>    }
>
>    private static final long serialVersionUID = 1L;
>    private String yourName;
>    private static Logger logger = Logger.getLogger(**
> HelloWorldAction.class);
>
> }
>
>
> [2] (jsp)
> ------------------------------**------------------------------**
> ------------------------------**----------------------------
>
> <%@ taglib prefix="s" uri="/struts-tags" %>
> <%@ taglib prefix="sj" uri="/struts-jquery-tags"%>
>
> <html>
>
> <head>
> <sj:head/>
> </head>
>
> <body>
>
> <div id="formResult">
> <p>Echo : ${yourName}</p>
> </div>
>
> <s:form id="form" action="put">
> <s:textfield id="echo" name="yourName"/>
> </s:form>
>
> <sj:a
>            id="ajaxformlink"
>            formIds="form"
>            targets="formResult"
>            indicator="indicator"
>            button="true"
>            buttonIcon="ui-icon-gear"
> >
>            Submit form here
> </sj:a>
>
> <img id="indicator" src="images/indicator.gif" alt="Loading..."
> style="display:none"/>
>
> </body>
>
> </html>
>
>
>
>
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message