这个是我web.xml
<servlet>
<servlet-name>dwr</servlet-name>
<servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>dwr</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
这个是dwr.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://www.getahead.ltd.uk/dwr/dwr20.dtd">
<!--javascript属性对应客户端调用的JS,new表示用new创造器 -->
<!--name="class"表示对应的是java类,value属性是对应的后台功能类 -->
<!-- method是说后台类里面的那个方法可以调用 -->
<!-- 如果后台类返回的是list类型,那就要加上这句 -->
converter="bean" />
这个是我JSP
JS代码:
function getstreet(){ alert(" "); var areaid=document.getElementById("areaid").value; housejs.getstreet(areaid,getstreets_back); } //获得回调函数,名字取决于上面那行 //参数data是接受的action的返回值,这个是list类型的。然后将list加载到下拉列表框中 fuction getstreets_back(data){ var street=document.getElementById("street"); for(var i=0;i<data.length;i++){ var opt=new Option(data[i].aname,data[i].value); street.options[i]=opt; } }这个是我的ACTION
package org.shj.houseproject.house.action;
import java.util.List;
import org.shj.houseproject.houseService.IHouseService;
import org.shj.houseproject.pojo.Area;
import org.shj.houseproject.pojo.House;
import org.shj.houseproject.pojo.Street;
import com.opensymphony.xwork2.ActionSupport;
public class HouseAction extends ActionSupport {
public List getstreet(int areaid) {
List liststreet = houseservice.listStreet(areaid);
return liststreet;
}
}
你先看看dwr配置成功没
二级联动最好是把数据预加载到application里,这样就不需要每次都加载
首先你要检查一下dwr是否配置成功,其次就是看看js里data有没有数据