2016-01-22 34 views
0

我有以下操作,我想將名稱傳遞給ajax響應。我怎麼能這樣做?如何將結果從動作傳遞給Struts2中的ajax

public class DatabaseAction extends ActionSupport{ 

    private String name; 


    public void selectAll() { 
     name="aa"; 

    } 
    public void update() { 

    } 
    public void delete() { 

    } 
    public void add() { 

    } 

    public String getName() { return name; } 

    public void setName(String name) { this.name = name;} 
} 

我使用jQuery寫了ajax:

$(document).ready(function(){ 
    $("#select").click(function() { 
     $.ajax({ 
      url:"/db/database!selectAll.action", 
      type:"POST", 
      dateType:"JSON", 
      success:function(name){ 
       alert(name); 
      } 
     }); 
    }); 
    $("#delete").click(function() { 
     alert("delete"); 
    }); 
}); 

警報被調用,但空的結果顯示。

+0

的[JQuery的Ajax的不工作的JSP和Struts]可能的複製(http://stackoverflow.com/questions/34939790/jquery -ajax - 不工作,在-JSP與 - 支柱) –

回答

0

如果您調用某個操作方法,則該方法應該返回String值作爲結果。此結果應該有一個名稱,應該配置爲動作配置或全局配置。你可以閱讀this答案,瞭解更多如何配置全局結果。應將本地結果配置爲動作配置。如果您需要關於本地結果的更多信息,請參閱this答案。

的代碼:

public String selectAll() { 
    name="aa"; 
    return SUCCESS; 
} 

配置:

<action name="database" class="com.example.DatabaseAction" method="selectAll"> 
    <result type="json"/> 
</action> 
相關問題