我正在尝试使用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@