我正在尝试使用Ajax中的URL连接到我的action类。但它没有进入我的动作类,甚至没有使用$("#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
:
<action name="selectstate.action" class="com.thirdtask.actions.SelectAction" method="selectstate">
<result name="success">selecttag.jsp</result>
</action>
答案 0 :(得分:3)
要将操作映射到方法,您应该执行类似
的操作<action name="selectstate" class="com.thirdtask.actions.SelectAction" method="selectstate">
<result>/selecttag.jsp</result>
</action>
动作名称应该没有动作扩展名,默认情况下结果名为“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..!!");}
});