Dúvida com ExtTLD ou ExtJS + Struts2

Pessoal alguém já utilizou ExtTLD ou ExtJS com Struts2?
Não estou conseguindo invocar as actions de maneira correta.

É executado os métodos da action mas não sou direcionado para outra pagina.

O código com TLD ficou:

[code] ext:body
<ext:window title=“NetAnalyse - Login”
width=“300”
height=“240”
id=“wLogin”
closable=“false”
resizable=“true”>
<ext:form.formPanel id=“loginForm”
bodyStyle=“padding:10px”
border=“false”
url=“login!checkLogin.action”

							>
			<ext:form.textField fieldLabel="Username" name="username" />
			<ext:form.textField fieldLabel="Password" name="password" />
			<ext:button type="submit" onClick="loginForm.form.submit()" text="Entrar"/>
		</ext:form.formPanel>
	</ext:window>
</ext:body>[/code]

Com JS ficou:

Ext.onReady(function(){ wLogin = new Ext.Window({ id:'wLogin', title:'NetAnalyse - Login', height:240, closable:false, width:300, resizable:true, items:[ new Ext.form.FormPanel({ bodyStyle:'padding:10px', id:'loginForm', border:false, url:'login!checkLogin.action', items:[new Ext.form.TextField({ name:'username', value:'', fieldLabel:'Username', listeners:{ } }),new Ext.form.TextField({ name:'password', value:'', fieldLabel:'Password', listeners:{ } })], buttons:[ new Ext.Button({ text:'Entrar', type:'submit', listeners:{ click:function(){loginForm.form.submit()} } }) ], listeners:{ } }) ], listeners:{ }, contentEl:'wLoginEl' }); })

Alguém sabe como posso pegar os dados do response e jogar dentro de uma div e/ou ser direcionado para esta pagina?

A imagem abaixo é do firebug me mostrando o conteúdo do response: Este fonte é da pagina cujo o struts está configurado para me redirecionar.


[quote=Flasoft]Pessoal alguém já utilizou ExtTLD ou ExtJS com Struts2?
Não estou conseguindo invocar as actions de maneira correta.

.[/quote]
Você conseguiu resolver o problema?
Estou tendo um erro org.apache.jasper.JasperException: /WEB-INF/tags/ext/body.tag(98,0) The absolute uri: http://java.sun.com/jsp/jstl/functions cannot be resolved in either web.xml or the jar files deployed with this application

[quote=Flasoft]Pessoal alguém já utilizou ExtTLD ou ExtJS com Struts2?
Não estou conseguindo invocar as actions de maneira correta.

É executado os métodos da action mas não sou direcionado para outra pagina.

O código com TLD ficou:

[code] ext:body
<ext:window title="NetAnalyse - Login"
width="300"
height="240"
id="wLogin"
closable="false"
resizable=“true”>
<ext:form.formPanel id="loginForm"
bodyStyle="padding:10px"
border="false"
url=“login!checkLogin.action”

							>
			<ext:form.textField fieldLabel="Username" name="username" />
			<ext:form.textField fieldLabel="Password" name="password" />
			<ext:button type="submit" onClick="loginForm.form.submit()" text="Entrar"/>
		</ext:form.formPanel>
	</ext:window>
</ext:body>[/code]

Com JS ficou:

Ext.onReady(function(){ wLogin = new Ext.Window({ id:'wLogin', title:'NetAnalyse - Login', height:240, closable:false, width:300, resizable:true, items:[ new Ext.form.FormPanel({ bodyStyle:'padding:10px', id:'loginForm', border:false, url:'login!checkLogin.action', items:[new Ext.form.TextField({ name:'username', value:'', fieldLabel:'Username', listeners:{ } }),new Ext.form.TextField({ name:'password', value:'', fieldLabel:'Password', listeners:{ } })], buttons:[ new Ext.Button({ text:'Entrar', type:'submit', listeners:{ click:function(){loginForm.form.submit()} } }) ], listeners:{ } }) ], listeners:{ }, contentEl:'wLoginEl' }); })

Alguém sabe como posso pegar os dados do response e jogar dentro de uma div e/ou ser direcionado para esta pagina?

A imagem abaixo é do firebug me mostrando o conteúdo do response: Este fonte é da pagina cujo o struts está configurado para me redirecionar.[/quote]

Isso acontece porque ele invoca a action por padrão via ajax.
Vc tem duas alternativas: desligar o ajax. Esqueci qual é a propriedade mas é fácil achar na documentação, é uma propriedade do form.
A outra é pegar o resultado no success e fazer o que precisar com ele. Dá uma olhada com calma na documentação da classe Ext.FormPanel e da Ext.Ajax… Com isso vc consegue fazer o que ta querendo.

Cara eu nao consigo utilizar o ExtTLD? eu só coloco os .tag que nem fala no site, mas quando eu importo no meu JSP da um erro na hora da execução.
org.apache.jasper.JasperException: Unable to compile class for JSP:

An error occurred at line: 8 in the generated java file
Only a type can be imported. org.apache.commons.beanutils.BeanUtils resolves to a package

An error occurred at line: 187 in the jsp file: /WEB-INF/tags/ext/body.tag
BeanUtils cannot be resolved

Como a própria mensagem diz ele não está encontrando a classe BeanUtils. Vc precisa baixar os jars dela, acho que é a commons-beanutils. Digitando esse nome vc deve achar no google.

Aliás acho que precisa de outro ainda. Não me lembro qual é agora, mas se vc olhar no site do exttld onde faz o download, vai ver que ele fala que precisa dessa beanutils e da outra que esqueci o nome. Com o nome em mãos é bem fácil de achar o site pra download no google.

Quando cheguei em casa e olhei com calma resolvi o problema, é exatamente o que falou, eu coloquei os JARS e funcionou.
Agora minha dúvida é outra, no EXTLD eu exibo perfeitamente uma janela, mas eu nao sei como faço para renderizar na página um formPanel.
Com o ExtJS eu sei fazer perfeitamente.

Vc precisa colocar o conteúdo dentro de um ext:body e talvez um ext:viewport, ficando mais ou menos assim:

<ext:body>
   <ext:viewport>
       <ext:panel>
               Qualquer outra coisa dentro do panel....
       </ext:panel>
   </ext:viewport>
</ext:body>

Segue o exemplo de uma página minha chamda layout.jsp que uso o exttld e algumas tags do sitemesh.

<?xml version="1.0" encoding="utf-8" ?>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="utf-8"%>
<%@ taglib tagdir="/WEB-INF/tags/ext" prefix="ext" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<%@ taglib uri="http://www.opensymphony.com/sitemesh/decorator"
	prefix="decorator"%>
<%@ taglib uri="http://www.opensymphony.com/sitemesh/page"
	prefix="pages"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<%@page import="java.util.Date"%><html xmlns="http://www.w3.org/1999/xhtml">
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
	<title>Supram Software 2008 - <decorator:title default="Bem Vindo!" /></title>
	<decorator:head />
	<link rel="stylesheet" type="text/css" href="js/ext-2.0.2/resources/css/ext-all.css" />
	<link rel="stylesheet" type="text/css" href="css/estilo.css"/>
	<link rel="shortcut icon" href="favicon.ico" type="image/x-icon"/>
	<script type="text/javascript" src="js/ext-2.0.2/adapter/ext/ext-base.js"></script>
	<script type="text/javascript" src="js/ext-2.0.2/ext-all.js"></script>	
	<script type="text/javascript" src="js/ext-2.0.2/source/locale/ext-lang-pt_BR.js"></script>
	<script type='text/javascript' src='scripts/shortcut.js'></script>
	<script type="text/javascript" src="scripts/geral.js" ></script>
	
</head>
<body>
<input type="hidden" value="Supram Software - <decorator:title/>" id="titulo"/>

<ext:body smProvider=" " loadingMask="true" locale="pt_BR">
    <ext:viewport style="width: 800px; margin: auto">
        <ext:panel title="Supram Software 2008" id="panelTitulo">
            <ext:toolbar>
                <ext:toolbar.button text="Cadastro">
                    <ext:menu>
                        <ext:menu.item text="Cadastro Básico">
                            <ext:menu>
                                <ext:menu.item text="Pessoa">
                                    <ext:menu>
                                        <ext:menu.item text="Bairro" href="BairroAction.action"/>
                                        <ext:menu.item text="Cidade" href="CidadeAction.action"/>
										<ext:menu.item text="Grupo de Usuário" href="GrupoUsuarioAction.action"/>
                                        <ext:menu.item text="Tipo Pessoa" href="TipoPessoaAction.action"/>
                                    </ext:menu>
                                </ext:menu.item>    
                                <ext:menu.item text="Protocolo Documento">
                                    <ext:menu>
                                        <ext:menu.item text="Espécie Documento" href="EspecieDocumentoAction.action"/>
                                    </ext:menu>
                                </ext:menu.item>    
                            </ext:menu>    
                        </ext:menu.item>    
                        <ext:menu.separator />
                        <ext:menu.item text="Pessoa" href="PessoaAction.action"/>
                        <ext:menu.item text="Protocolo Documento" href="ProtocoloDocumentoAction.action" />
                        <ext:menu.separator />
                        <ext:menu.item text="Sair do Sistema" href="LogonAction!logoff.action"/>
                    </ext:menu>
                </ext:toolbar.button>
                <ext:toolbar.button text="Opções">
                    <ext:menu>
                        <ext:menu.item text="Configuração Empresa" href="ConfiguracaoEmpresaAction.action"/>
						<ext:menu.item text="Gerar Valores Padrões do Banco de Dados" href="geraValoresPadrao.jsp"/>
                    </ext:menu>
                </ext:toolbar.button>
            </ext:toolbar>
			<decorator:body></decorator:body>
        </ext:panel>
    </ext:viewport>
	<ext:panel renderTo="rodaPe">
		<ext:toolbar autoHeight="true">
			<ext:toolbar.button text="Usuário Logado: ${usuario.pessoa.razaoSocial}"/>
		</ext:toolbar>
	</ext:panel>
</ext:body>

<ext:onReady>
	Ext.getCmp('panelTitulo').setTitle(document.getElementById('titulo').value) ;
</ext:onReady>
<div id="rodaPe"></div>
</body>
</html>

Detalhe: No seu caso pode não precisar da declaração dos javascripts e css no head. No meu caso é que tive que alterar algumas coisinhas…