DWR - Incluir uma pagina dinâmica em uma div

9 respostas
Marques

Lista,

Como eu faço para incluir uma pagina dinamica em uma div no trecho do meu form abaixo?

<div>quero incluir uma pagina dinamica aqui</div>

9 Respostas

J

Crie um método mais ou menos assim:

@RemoteMethod public String pageContent(String page){ String content = ""; try{ content = WebContextFactory.get().forwardToString(page); }catch(Exception e){ content = e.getMessage(); } return content; }

E na sua pagina:

var callback = function(content){ DWRUtil.setValue('divPagina', content); } ClasseDoDWR.pageContent("minhaPagina.jsp", callback);

<div id="divPagina"></div>
Marques

jairelton ,

Dessa forma que vc fez funciona, porém essa pagina dinâmica contém alguns javascript.

Porém qdo incluo a página ele não encontra meus javascripts.
Alguma dica?

Muito obrigado,

Marques

J

Nesse caso eu não tenho não.

giu

[quote=jairelton]Crie um método mais ou menos assim:

@RemoteMethod public String pageContent(String page){ String content = ""; try{ content = WebContextFactory.get().forwardToString(page); }catch(Exception e){ content = e.getMessage(); } return content; }

E na sua pagina:

var callback = function(content){ DWRUtil.setValue('divPagina', content); } ClasseDoDWR.pageContent("minhaPagina.jsp", callback);

<div id="divPagina"></div>

Aproveitando o seu conhecimento, jairelton. E se eu quizer chamar um pdf em vez de uma página html. Existe alguma maneira?

J

Acho que nesse caso você precisaria de um iframe, porque não dá pra você colocar meia pagina como HTML e meia pagina como PDF, então teria que colocar uma pagina pdf dentro da pagina HTML. Para carregar o PDF no iframe é só setar o atributo src dele dinamicamente.

Algo assim:

function abrirPdf(path){ $('framePdf').src = path; $('framePdf').style.display = 'block'; }

<iframe id="framePdf" style="display: none"></iframe>
felipesp

Em relação ao pdf em um frame é importante considerar qual browser vai rodar a aplicação: se o seu público for da intranet, e todo mundo utiliza uma versão de browser compatível com o pdf em iframe, até vai. Mas se o objetivo é o público externo, que pode ter qualquer versão de browser, neste caso acho uma PÉSSIMA idéia misturar as duas coisas.

Se for inevitável, utilize um (argh!) frame.

Em relação ao problema inicial que er chamar um div com javascript dentro. No caso o javascript não funciona, certo? Para resolver esse grilo basta trazer a separação da camada javascript para um arquivo js externo.

Coloque no seu <head> uma tag <script> que deve resolver seu problema :wink:

P

Se você usar o prototype com Ajax.Updater, você pode colocar evalScripts:true como param,
que ele “evalua” os javascritps,
exceto includes que devem ser colocar na página que contém o div.

Grinvon

Serve em Prototype?

&lt;script&gt;
	function getHTML()
	{
		var url = 'http://yourserver/app/getSomeHTML';
		var pars = 'someParameter=ABC';
		
var myAjax = new Ajax.Updater( 'placeholder', url, { method: 'get', parameters: pars });

	}
&lt;/script&gt;

&lt;input type=button value=GetHtml onclick="getHTML()"&gt;
&lt;div id="placeholder"&gt;&lt;/div&gt;
P
Grinvon:
Serve em Prototype?
&lt;script&gt;
	function getHTML()
	{
		var url = 'http://yourserver/app/getSomeHTML';
		var pars = 'someParameter=ABC';
		
var myAjax = new Ajax.Updater( 'placeholder', url, { method: 'get', parameters: pars });

	}
&lt;/script&gt;

&lt;input type=button value=GetHtml onclick="getHTML()"&gt;
&lt;div id="placeholder"&gt;&lt;/div&gt;

não esqueça de colocar evalScripts

var myAjax = new Ajax.Updater( 'placeholder', url, { method: 'get', parameters: pars, evalScripts:true });
Criado 22 de janeiro de 2007
Ultima resposta 22 de jan. de 2007
Respostas 9
Participantes 6