java – 在Struts 2中使用Ajax URL调用一个动作

前端之家收集整理的这篇文章主要介绍了java – 在Struts 2中使用Ajax URL调用一个动作前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试使用Ajax中的URL连接到我的操作类.但它没有进入我的动作类,甚至没有使用$(“#selectedCountry”).val()显示所选值.
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..!!")
    });         
}@H_403_3@ 
 

我的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>@H_403_3@ 
 

我的struts.xml:

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

解决方法

要将操作映射到方法,您应该执行类似的操作
<action name="selectstate" class="com.thirdtask.actions.SelectAction" method="selectstate">
  <result>/selecttag.jsp</result> 
</action>@H_403_3@ 
 

动作名称应该没有动作扩展名,默认情况下结果名为“success”,JSP的路径应该是绝对的.

打电话给ajax

$.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..!!");}
});@H_403_3@

猜你在找的Java相关文章