2014-01-21 64 views
3

我有一個按鈕「Show Me」,它使得AJAX調用獲取名稱,如果調用成功返回名稱,則按鈕「Get Key 「將顯示在目標結果div中。如何獲得oncompletTopics函數中的變量名稱?現在在腳本里,這個名字是不確定的。如何從struts-2-jquery返回變量<sj:a> action oncompletetopics調用

的anchortag和terget DIV是:

  <div> 
      <sj:a href="%{ajax}" dataType="text" targets="commands" onCompleteTopics="complete" button="true" >Get Name</sj:a> 
     </div> 


     <div id="comm" ><input id='commands' type='button' value='Get Key' style='visibility:hidden' /></div> 

<script> 
     $.subscribe('complete', function(event,data) { 
        if(name.lengh>0) { 
        $("#commands").attr('style', 'visibility:visible'); } 
       }); 
</script> 

Action類是:

 public class AjaxAction{ 
    /* name */ 
    private String name; 

    @Override 
    @Action(value = "ajax", 
    results = 
    { 
     results = { @Result(name = "success", type = "plainText") 
    }) 
    public String execute() throws Exception 
    { 
      name = "my name"; 
      return SUCCES 
    } 

/* get Name*/ 
    public String getName() 
    { 
     return name; 
    } 

/* set Name */ 
    public void setName(String name) 
    { 
     this.name = name; 
    } 
} 
+0

結果應該是'JSON',而不是'Tiles',imho。 –

+0

謝謝安德烈。如果我刪除條件來檢查名稱,如下所示,當我單擊「顯示我」按鈕時,獲取密鑰按鈕會顯示。但是我怎樣才能從行動中獲得變量? $ .subscribe('complete',function(event,data){(「#commands」)。attr('style','visibility:visible'); }); –

+0

我改變了結果爲plainText,我仍然無法從動作獲取變量名到jquery腳本。我必須使用JSON嗎?非常感謝。 –

回答

0

下面是答案,必須使用JSON。它在UI中將dataType更改爲json之後起作用,並將struts結果類型更改爲json

相關問題