Struts 2 e Ajax - Alcanço minha action, mas não retorna nada

2 respostas
VictorAJ

Olá pessoal, procurei por algum problema igual ao meu antes de postar, mas não achei. Então, lá vai:

Bom, acho que o título já explica muita coisa. Eu tenho um JSP onde fica o código do meu form. Esse form, submete seus dados para uma action, que processa e retorna esses dados, sendo que ao invés de aparecer o resultado, apenas aparece: undefined.

Abaixo, os códigos:

JSP com o form. Notem que eu faço os links com as bibliotecas do struts 2 e o plugin DOJO para struts 2:

<?xml version="1.0" encoding="ISO-8859-1" ?>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>

<%@ taglib uri="/struts-dojo-tags" prefix="sx" %>
<%@ taglib uri="/struts-tags" prefix="s" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Insert title here</title>
<sx:head/>
</head>
<body>
	<s:form action="buscarcategorias.action">
		<s:textfield label="Categoria" key="buscaCategoria"/>
		<sx:submit targets="divResultados" type="input" showLoadingText="false"/>
	</s:form>

	<div id="divResultados">
	</div>
</body>
</html>

E aqui, o "pedacinho" JSP que vai entrar na minha DIV:

teste:${buscaCategoria}

Código da classe action.

package categoria;
import com.opensymphony.xwork2.ActionSupport;
public class CategoriaAction extends ActionSupport 
{
	private String buscaCategoria;
	public String getBuscaCategoria() {
		return buscaCategoria;
	}
	public void setBuscaCategoria(String buscaCategoria) {
		this.buscaCategoria = buscaCategoria;
	}
	public String buscar()
	{
		buscaCategoria = "Buscar por: "+buscaCategoria;
		System.out.println("buscar alcançado! - "+buscaCategoria);		
		return ActionSupport.SUCCESS;
	}
}

Agora, meu XML que configura a action:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
	<package name="gerenciarcategorias2" extends="struts-default">
	
		<action name="buscarcategorias" class="categoria.CategoriaAction" method="buscar">
			<result>/jsp/categorias/gridcategorias.jsp</result>
		</action>
		
	</package>	
</struts>

Resumindo: meu form ajax até consegue "bater" na minha action, mas o retorno é undefined. Onde era para aparecer a categoria de busca que digitei, aparece undefined.

Alguém sabe me dizer se estou esquecendo algo?

Grato desde já.

2 Respostas

YuriSilva

Também estou com o mesmo problema.

Será que alguém tem alguma solução?

Obrigado.

J

Estou com um problema parecido , mas é na tag <sx:autocompleter. Eu consigo fazer a pesquisa (bater na action) , mas na hora de mostrar a lista na tela (autocomplete) não mostra nada. O meu retorno Json aparentemente está correto.

Abs
jj

Criado 20 de maio de 2009
Ultima resposta 3 de nov. de 2009
Respostas 2
Participantes 3