我想用自动补全的方式搜索Hmsong实体类中的songname字段,以下是我的代码,希望好心人可以帮忙解答。com.accp.dao.impl包
HmsongDaoImpl类
public List<Hmsong> SearchSong(String songname) {
    return this.getHibernateTemplate().find("from Hmsong h where  h.songname like '%" + songname + "%'");
}com.accp.entity包
Hmsong类
实体类是通过Hibernate ORM过来的。
xml格式的。dwr.xml<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC
    "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN"
    "http://www.getahead.ltd.uk/dwr/dwr10.dtd">
<dwr>
  <allow>
    <create creator="spring" scope="application" javascript="SearchSong">
      <param name="beanName" value="songDao"/>
    <include method="SearchSong"/>
    </create>
    <convert converter="bean" match="com.accp.entity.Hmsong"/>
  </allow>
</dwr> web.xml<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_9" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<!--  Ajax工程dwr的配置信息 -->
<servlet>
<servlet-name>dwr-invoker</servlet-name>
<servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
<!--  是否允许调试,如果要在浏览器中调试则必须设置为true -->
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
<!--  是否进行日制管理,如果是在要设置此参数,通常可以省略 -->
<init-param>
<param-name>logLevel</param-name>
<param-value>WARN</param-value>
</init-param>
<!--  如果允许跨域请求,则必须将此值设置为false,默认值为true -->
<init-param>
<param-name>crossDomainSessionSecurity</param-name>
<param-value>false</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>dwr-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
<!--  以下代码是用于配置strut2时加的监听--> <context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param> <listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener> <display-name>Struts Blank</display-name> <filter>
<filter-name>struts2</filter-name>
<filter-class>
       org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
                  </filter-class>
</filter> <filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/action/*</url-pattern>
</filter-mapping> <welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list></web-app>ajax.jsp页面
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<script type='text/javascript' src='/HotMusicSystem/dwr/interface/SearchSong.js'></script>
   <script type='text/javascript' src='/HotMusicSystem/dwr/engine.js'></script>
<script type='text/javascript' src='/HotMusicSystem/dwr/util.js'></script> <script type="text/javascript">
    function gog()
    {
         var keys = document.getElementById("keys").value;
        
            SearchSong.SearchSong(keys,call1);

    }
    function call1(data)    
    {
    //当查询结果没数据时,不写这句会报错的
    if(data!=null){ 
       var keys = document.getElementById("keys").value;
       //这个是去掉空格 
       keys=keys.replace(/(^\s*)|(\s*$)/g,"");
       //如果不判断,一按下键就会有多条数据
       if(keys != ""){ 
        document.getElementById("tishi").innerHTML = "";
        for(var i=0;i<data.length;i++){
          document.getElementById("tishi").innerHTML+="<div onclick=" + "document.getElementById('keys').value=this.innerText" + " onmouseout=" + "this.style.backgroundColor=''"+ " onmouseover=" + "this.style.backgroundColor='#3266CC'>" +data[i] + "</div>" ;         
            
        }
     }else{
     document.getElementById("tishi").innerHTML = "";
     } 
    }else{
    document.getElementById("tishi").innerHTML = "";
    }
    
    }
   </script>
</head> <body>
<TABLE cellPadding="4" width="100%" border="1"> <tr>
<td valign="top">
关键字:
</td>
<td>
<table>
<tr>
<td>
<input type="text" name="songname" id="keys" onkeyup="gog()" size="60">
</td>
</tr>
<tr>
<td bgcolor="#F6F6EE">
<div id="tishi"></div>
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>输入任何文字后都弹出alert的报错。求解答!!!!!!