我试图通过使用以下Ajax中的URL连接到我的动作类。但是它没有进入我的动作类,甚至没有使用来显示选定的值$("#selectedCountry").val()。
$("#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..!!") }); }
我的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:
struts.xml
<action name="selectstate.action" class="com.thirdtask.actions.SelectAction" method="selectstate"> <result name="success">selecttag.jsp</result> </action>
要将动作映射到方法,您应该执行以下操作
<action name="selectstate" class="com.thirdtask.actions.SelectAction" method="selectstate"> <result>/selecttag.jsp</result> </action>
操作名称应没有操作扩展名,并且默认情况下将结果命名为“成功”,此处的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..!!");} });