2012-08-30 60 views
0

how can i pass value from javascript to a java class in struts2? 這是類似於我想要的鏈接。但它不適用於我。 我試過這樣的事情。隱藏在JSP Struts標籤是將jsp中的javascript傳遞給struts2中的action class

function redirect(id) 
    { 
    window.alert("Hello"+id); 
    document.getElementById('param_ID').value=id; 
    document.forms["./ListAlgorithmAction"].submit(); 
    } 

在我的動作類我宣佈getter和setter的param_ID.But返回null。

請幫忙。 謝謝。

+0

你可以是一個有點清楚你想做什麼?什麼是不工作 –

+0

我想顯示param_ID的值在action類中。我將它作爲null.Is代碼正確的重定向到動作類的jsp值? – Soham

+0

請help.Trying尋找一個解決方案,因爲很長一段時間。 – Soham

回答

0

你應該使用這樣

<s:hidden id = "param_ID" name="xyz" /> 

現在你應該在你的Struts動作XYZ屬性getter和setter。

您應該始終在映射到Struts操作中的屬性的標記中使用name屬性。

希望這個工程。

0

如果頁面未提交hidden字段,則隱藏字段可能不在您的表單元素中。您可以嘗試將它作爲參數傳遞給您的網址。試試這個

function redirect(id) 
{ 
    var form = document.forms[0]; 
    var url = './ListAlgorithmAction?param_ID=' + id; 
    form.action = url; 
    form.submit(); 
} 

讓我知道這是否有效。

+1

這就是問題之美,它讓我們所有人猜測;) –

0

如果你想打電話的動作,並返回數據,你應該使用Struts2的JSON的插件jQuery腳本調用行動

var abc = $("#abc").val(); 
      $.getJSON('youraction.action', { 
       variable -name action class : abc, 
          value to be passed:value, 

     //and so on 
      }, function(data) { 


     //your processing code 
       } 
      }); 
      return false; 
     }); 

如果你想只需要調用你的行動可能要使用$就到位的$ .getJson

如果你想使用Struts 2的JSON,那麼你還需要改變你的struts.xml即

<result name="success" type="json"></result> 

這是值得一去

0

我也有類似的問題,並通過附加來自JavaScript函數的Action類,將URL參數追加解決它如下圖所示:

<a href="(<%actionClassName%>.action?<%URLParms%>" /> 
相關問題