Olá Pessoal,
Estou fazendo um teste para utilizar o dwr.
Mas quando mando rodar o Firefox da a seguinte mensagem de erro no console: “Informacoes is not defined”.
Abaixo posto os arquivos utilizados.
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>dwr-invoker</servlet-name>
<servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/dwr.xml</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>dwr-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
</web-app>
dwr.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC
"-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN"
"http://getahead.org/dwr/dwr20.dtd">
<dwr>
<allow>
<create creator="new" javascript="JDate">
<param name="class" value="java.util.Date"/>
</create>
<create creator="new" javascript="Informacoes">
<param name="class" value="com.unimed.teste.Informacoes"/>
<include method="busca"/>
</create>
</allow>
</dwr>
index.jsp
<html>
<head>
<script type='text/javascript' src='Teste/dwr/interface/Informacoes.js'></script>
<script type='text/javascript' src='Teste/dwr/engine.js'></script>
<script type='text/javascript' src='Test/dwr/util.js'></script>
<style type="text/css">
body { font-family: arial; font-size: 12px; }
div { padding-top: 10px; }
</style>
<script>
function $(id) {
return document.getElementById(id);
}
function buscar(nome) {
Informacoes.busca(preencheResultados, nome.toLowerCase());
}
function preencheResultados(nomes) {
var data = "";
for (var i = 0; i < nomes.length; i++) {
data += "<a href='javascript:seleciona(\"" + nomes[i] + "\")'>" + nomes[i] + "</a><br>";
}
$("resultados").innerHTML = data;
}
function seleciona(nome) {
$("nome").value = nome;
}
</script>
</head>
<body>
<h2>Busca de nomes</h2>
<form name="teste">
<div>
Nome: <br>
<input type="text" id="nome" onKeyPress="buscar(this.value);">
</div>
<span id="resultados"></span>
</form>
</body>
</html>
Informacoes.java
package com.teste;
import java.util.ArrayList;
import java.util.List;
public class Informacoes {
private static String[] names;
static {
names = new String[] {
"Ana Maria", "Ana Claudia", "Anastella",
"Bernardo", "Bruno Campos", "Bruno Torres",
"Claudio Roberto", "Claudioberto", "Claudia",
"Daniel", "Daniela", "Daniela Figueiredo",
"Eleandro", "Emanuela Fernanda Borges", "Eustacio",
"Figueirinha", "Fernando Silveira", "Fernandinha","Fabio Pedrosa"
};
}
public List busca(String s) {
synchronized (names) {
List l = new ArrayList();
for (int i = 0; i < names.length; i++) {
String nome = names[i];
if (nome.toLowerCase().indexOf(s) > -1) {
l.add(nome);
}
}
return l;
}
}
}
Alguém sabe me dizer o que estou fazendo de errado?
Mariane