2013-12-16 58 views
5

以下のようにAjaxでURLを使用してアクションクラスに接続しようとしています。しかし、それは私のアクションクラスに入っておらず、さらには$("#selectedCountry").val()を使って選択された値を示していません。 Struts 2でAjax URLを使用してアクションを呼び出す

function getstates(){   
    alert($("#selectedCountry").val());   
    $.ajax({ 
     type : "GET", 
     url : "/ThirdTask/selectstate.action", 
     dataType : 'text', 
     data : "name="+$("#selectedCountry").val(), 
     success : function(){ 
     $('statesdivid').html(); 
     }, 
     error : alert("No values found..!!") 
    });   
} 

私のJSPのコードは次のように:

<s:select name="selectedCountry" list="{'india','china'}" onclick="getstates();"/></div> 
<div id="statesdivid"> 
<s:if test="%{#request.selectedstatenames != null}"> 
<s:select list="#request.selectedstatenames" name="selectedState"> 
</s:select> 
</s:if> 
</div> 

マイstruts.xml

<action name="selectstate.action" class="com.thirdtask.actions.SelectAction" method="selectstate"> 
<result name="success">selecttag.jsp</result> 
</action> 
+0

あなたは 'selectedCountry' idを持つ要素を持っていません。 –

+0

ダブルス選択、ストラットまたはjQueryを試しましたか? –

+0

私はselectedCountry IDを保持してみましたが、結果はありません@ Aleksandr M – kumarc

答えて

3

あなたは

ような何かをしなければならない方法にアクションをマップします10

アクション名はアクションの拡張子がなく、デフォルトでは "success"という名前が付けられます。JSPへのパスは絶対パスでなければなりません。

$.ajax({ 
    type : "GET", 
    url : "<s:url action='selectstate'/>", 
    dataType : 'text/javascript', 
    data : {'name' : $("#selectedCountry").text()}, 
    success : function(result){ 
     if (result != null && result.length > 0){ 
     $("statesdivid").html(result); 
     } 
    }, 
    error : function(xhr, errmsg) {alert("No values found..!!");} 
});   
+0

ありがとう@Roman C – kumarc

0

Struts2の-JSON-プラグイン2.x.x.jar AJAX呼び出しファイルはJSONオブジェクトにゲッターとセッターを持つアクションクラスの属性をシリアル化することができます。

必要なJAR

全ての支柱2つのコアの瓶

Struts2の-JSON-プラグイン2.xxjar

コモンズ-lang3-3.2.jar

$.ajax({ 
    type : "Method name(GET/POST)", 
    url : "url map to the action class", 
    success : {"Message on success"}, 
    error : {"Message on error"}} 
}); 

はフルを参照してください。例http://www.websparrow.org/tutorials/struts/how-to-call-action-class-using-ajax-in-struts2

関連する問題