Hello, I tried to use Stripes and Query AJAX Forms 
like it is described in http://www.stripesbook.com/blog/index.php?/archives/3-
Stripes-and-jQuery-AJAX-Forms.html#comments

(very nice article)

It works well in the modern browsers, "Stripes-Success" header approach works 
well too.

But I when error (validation error for example) occurs

This div:
<div id="form">    
</div>
is populated not by "form.jsp" content + error messages but by "initial page" 
content + error messages, that produce initial page in initial page effect.

I used FreeMarker, instead of jsp, all files contents is listed below.

I can't understand how to make Initial pages's <div id="form"> to be updated 
with form.jsp contents + error messages and not to put to this div full initial 
page contents with error messages.

Do you have any ideas? Maybe I miss something simple...


@UrlBinding("/")
public class HomeActionBean extends BaseActionBean {     
    
    @DefaultHandler
    @DontValidate
    public Resolution display() {
        return new ForwardResolution("/WEB-INF/templates/frontend/index.ftl");  
    }
    
}





@UrlBinding("/form/{$event}/{firstname}/{lastname}")
public class FormActionBean extends BaseActionBean {
    
    @Validate(required=true, minlength=5)
    private String firstname;
    
    private String lastname;
    
    @DefaultHandler
    @DontValidate
    public Resolution display() {
        return new ForwardResolution("/WEB-INF/templates/frontend/form.ftl");  
    }
    
    public Resolution save() {
        getContext().getResponse().setHeader("AppSuccess", "true");
        return new ForwardResolution("/WEB-INF/templates/frontend/people.ftl");
    }
    
    /* getters/setters */
}





=== Initial Page Template: /WEB-INF/templates/frontend/index.ftl
[#ftl]
[#assign s=JspTaglibs["http://stripes.sourceforge.net/stripes.tld";]]
<html>
  <head>
      <title>My First Stripe</title>
      <style type="text/css">
          input.error { background-color: yellow; }
      </style>
      <script type="text/javascript" src="js/jquery.js"></script>
      <script type="text/javascript" src="js/general.js"></script>

      <script type="text/javascript">
            function submitForm(button) {
                var form = button.form;
                var params = $(form).serialize() + '&_eventName=' + 
button.name;
                var xhr = $.post(form.action, params, function(data) {
                  if (xhr.getResponseHeader('AppSuccess')) {
                    $('#form').hide();
                    $('#people').html(data);
                  }
                  else {
                    $('#form').html(data);
                  }
                });
                return false;
              }
      </script>

        
  </head>
  <body>
    <h1>Stripes Calculator - FTL</h1>

    Hi, I'm the Stripes Calculator. I can only do addition. Maybe, some day, a 
nice programmer
    will come along and teach me how to do other things?

    <div id="people">            
    </div>

    <div id="form">
         [#include "form.ftl"]        
    </div>

  </body>
</html>





=== Form page template: /WEB-INF/templates/frontend/form.ftl
[#ftl]
[#assign s=JspTaglibs["http://stripes.sourceforge.net/stripes.tld";]]

[EMAIL PROTECTED] 
beanclass="com.tehworld.bride.web.action.frontend.FormActionBean"]
    [EMAIL PROTECTED]/]
    [EMAIL PROTECTED] name="firstname"/]
    [EMAIL PROTECTED] name="lastname"/]
    [EMAIL PROTECTED] name="save" value="Save" onclick="return 
submitForm(this);"/]
    [EMAIL PROTECTED] name="cancel" value="Cancel"/]
[/@]



=== People Template: /WEB-INF/templates/frontend/people.ftl
Just some text for People Template




-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Stripes-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/stripes-users

Reply via email to