Wie zum senden von Formular Daten an ActionSupport mit Ajax und Struts2

wenn ich nicht mit Ajax dann alles schön und gut mit dem gleichen code. aber mit ajax hier bin hab null vale für gleiche public String execute() throws Exception { String strAction = cartItemForm.getAction(); /*ich bin geting null hier mit ajax-Aufruf aber einfach stuts2 erste Aktion Wert, die ich in <s:hidden name="action" value="Add" id="action" /> es bedeutet, hinzufügen */return "success"; }

dies ist jsp

  <script type="text/javascript">
  function submitAjax()  
  {  
   JSONobj = {cartItem:{
     description : $("description").val(),
     price :$("price").val(),
     action : $("action").val(),
     quantity :$("quantity").val(),
   } };
   JSONstr = JSON.stringify(JSONobj);

   jQuery.ajax(
    {
        type: 'POST', 
        url: 'Cart.action', 
        data:JSONstr,
        dataType: 'json',
        async: false ,
        contentType: 'application/json; charset=utf-8',
        success: function(){window.alert("done");}
    });
}  

</script>
<s:form>
  <s:hidden name="modelNo"     value="%{#attr.productId}"                    />  
  <s:hidden name="description" value="%{#attr.productName}" id="description" />
  <s:hidden name="price"       value="%{#attr.listprice}"   id="price"       />
  <s:hidden name="action"      value="Add"                  id="action"      />

  <s:submit value="add to cart" cssClass="submit_button" theme="simple"      />
</s:form>

Dies ist struts.xml

 <action name="Cart" class="struts.cart.action.CartAction">
    <result type="json"/> 
 </action>

Hier ist MEINE Action-Klasse

  public class CartAction extends ActionSupport 
                        implements ModelDriven, Preparable, ServletRequestAware {
  private static final long serialVersionUID = -3670063011948002290L;
public  static final String ADD = "Add";
public  static final String DELETE = "Delete";
public  static final String UPDATE = "Update";  
public  static final String CART_SESSION = "Cart";

    private HttpServletRequest  request;
    private CartItemForm        cartItemForm;

    public String execute() throws Exception {
        String strAction = cartItemForm.getAction();//i am geting null here
        return "success";
    }

    public Object getModel() {
        //TODO Auto-generated method stub
        System.out.println("Cart getModel "+cartItemForm);
        return cartItemForm;
    }

    public void prepare() throws Exception {
        //TODO Auto-generated method stub
        System.out.println("Cart prepare "+cartItemForm);
        cartItemForm=new CartItemForm();
    }

    public void setServletRequest(HttpServletRequest  httpServletRequest) {
        //TODO Auto-generated method stub
        request = httpServletRequest;
    }
}
Betrachten Sie die Befestigung Ihrer Methode Vorlagen, oder zumindest das löschen der nutzlosen Kommentare.

InformationsquelleAutor ved prakash | 2013-02-22

Schreibe einen Kommentar