list_question.jspおよびajax_result.jspという名前の jsp ページがあるとします。
struts.xml で
<action name="question/*/*" class="ProcessAction" >
<param name="selectedCatId">{1}</param>
<param name="questionId">{2}</param>
<result name="success">list_question.jsp</result>
</action>
<action name="submitReponse" class="AJXAction" >
<result name="success">ajax_result.jsp</result>
</action>
シナリオは次のとおりです。
まず、ProcessActionの成功結果としてlist_question.jspページが表示されます。すべてが完璧に機能しました。
次に、list_question.jsp内で、次のように ajax 呼び出しを実行します。
$("#postResponse").click(function(){
$("#responses").html("loading...");
$.ajax({
type:"POST",
url: "submitReponse", // Action name
data: $('form').serialize(),
success: function(data){
$("#responses").html(data);
}
});
});
問題は、別のアクション名が指定されていても、 AJXActionアクション クラスが呼び出されることはなく、以前のアクション クラス ( ProcessAction ) が常に呼び出されることです。
何か不足していますか?