2014-11-11 18 views
6

Tôi mới sử dụng Jquery và Struts. Tôi cần gửi dữ liệu biểu mẫu tới lớp hành động Struts2 bằng cách sử dụng hàm Ajax.Gửi dữ liệu biểu mẫu đến Lớp hành động Struts2 bằng cách sử dụng Ajax

yếu tố hình thức HTML của tôi được thiết lập như:

<div class="input-append date" id="from_date"> 
<input type="text" id="processDate" name="processDate" /> 
<span class="add-on"><i class="icon-th"></i></span> 
</div> 
<div> 
<input id="submit-date" type="button" class="btn btn-primary" value="Search" /> 
</div> 

Tôi đang sử dụng JQuery Script như:

$('#submit-date').click(function() { 
    var processDate = $('#processDate').val(); 
    alert(processDate); 
    $.ajax({ 
     type : "POST", 
     url : "launchapptest", 
     data : processDate, 
     dataType : "json", 
     success : function(result) { 
      alert("Success"); 
      } 
    }); 
} 

tập tin struts.xml được viết như sau:


<action name="launchapptest" class="com.ge.wd.action.LaunchAppTestAction"> 
     <result type="json"> 
     </result> 
</action> 

tôi đã đưa ra phương thức execute trong Action Class:

String processDate; 


public String getProcessDate() { 
    return processDate; 
} 

public void setProcessDate(String processDate) { 
    this.processDate = processDate; 
} 

public String execute() throws Exception { 

    processDate=getProcessDate(); 
    System.out.println("Process Date : "+processDate); 
} 

Xin hãy giúp tôi như thế nào tôi có thể nhận được này cho dữ liệu trong lớp hành động.

+0

Output tại giao diện điều khiển là - Process ngày: null – Tushar

+1

Tại sao không nên vô giá trị? Bạn chỉ gửi giá trị đầu vào của mình. Điều gì cần được ánh xạ? –

+0

xin vui lòng giúp tôi làm thế nào để bản đồ giá trị – Tushar

Trả lời

5

Cảm ơn sự giúp đỡ. Nhưng vấn đề được giải quyết, tôi đã thay đổi mã để:

HTML:

<div class="input-append date" id="from_date"> 
 
<input type="text" id="processDateForm" name="processDate"/> 
 
<span class="add-on"><i class="icon-th"></i></span> 
 
</div> 
 

 
<div> 
 
<input id="submit-date" type="button" class="btn btn-primary" value="Search" /> 
 
</div>

Jquery:

$('#submit-date').click(function() { 
 
\t \t \t var processDate = $('#processDateForm').val(); 
 
\t \t \t alert(processDate); 
 
\t \t \t $.ajax({ 
 
\t \t \t \t /* type : "POST", */ 
 
\t \t \t \t url : "launchapptest", 
 
\t \t \t \t /* contentType: "application/json; charset=utf-8", */ 
 
\t \t \t \t data : "processDateInput="+processDate, 
 
\t \t \t \t dataType : "json", 
 
\t \t \t \t async: true, 
 
\t \t \t \t success : function(result) { 
 
\t \t \t \t \t alert("Success"); 
 
\t \t \t } 
 
\t \t \t });

và JAVA mã:

public class LaunchAppTestAction extends ActionSupport { 

private static final long serialVersionUID = -367986889632883043L; 

//private ProcessDate pd = new ProcessDate(); 


private String processDateInput=null; 




public String getProcessDateInput() { 
    return processDateInput; 
} 

public void setProcessDateInput(String processDateInput) { 
    this.processDateInput = processDateInput; 
} 

public String execute() throws Exception { 


    System.out.println("Process Date : "+processDateInput); 



    return SUCCESS; 
}} 

struts.xml

<action name="launchapptest" class="com.ge.wd.action.LaunchAppTestAction"> 
     <result name= "success" type="json"> 
     </result> 
    </action> 

Tôi hy vọng công trình này cho bất cứ ai phải đối mặt với cùng một vấn đề :) Cảm ơn một lần nữa

Các vấn đề liên quan