XUL: dicas!

Boa tarde,
Tô fazendo uns testes com XUL aqui conforme a sugestão de um pessoal daqui mesmo e surgiu algumas dúvidas:

Vocês usam XUL com J2EE ou J2SE?

Se for J2EE, primeiro não vejo muito sentido, já que JSP e outros frameworks tem um acesso mais fácil ao controle e modelo. Mas como vocês fazer para manipular os objetos HTTP?XUL tem acesso tabém aos recursos de sessão, contexto, e etc?

Caso for J2SE, como você fazem para ‘comunicar’ o XUL com objetos Java? Como recuperam os dados do controle e manipulam no XUL?

E uma dúvida a parte, como modifico a skin do XUL, somente no css ‘na mão’ mesmo? Ou há skins prontas?

Grato.
Rafael

Cara, você tá viajando hehe

XUL é renderizado no cliente, assim como html. Ele NÃO substitui Velocity, JSP, Freemaker, Servlets etc …

Ele substitui o uso do html.

Para se comunicar com o server, use uma HTTPRequest com javascript ou use as tags html e faça um form normal.

edit: para fazer sua própria skin eu não sei, mas para pegar outras, va em Tools >> themes >> get more themes e baixe o que você gostar mais ;D

Eu é que não soube me expressar, notei como é o funcionamento dele.

O que queria saber é como ele se comunica com o server mesmo, só através de javascript?

E se eu quiser usar com J2SE, sabe como faço a ‘conversa’ das classes com o XUL?

Valeus.

Editado: Ah, lembrei de algo que ia perguntar. Eu tava fazendo aquele tutorial que você indicou lá do Xulplanet Luca, porém não consigo importar os arquivos externos, tipo .js e .css. Se eu criar uma function dentro do Xul, ela funciona, mas se eu criar num arquivo .js e importar este arquivo dentro do XUL, não ache este método.
Obs: E o pior que o arquivo .js tá no mesmo diretório do arquivo xul

Não sei nada de XUL. Nunca me deparei com XUL.

Vejo que o pessoal fala bastante.

Devo dar uma olhada nisso ???

Por onde começar ???

Sérgio,
Apesar de estar apanhando um pouco agora no princípio, achei a proposta dele bem interessante, eu recomendo que dê uma olhada.
Em http://www.xulplanet.com/ tem um tutorial bem didático.(Main Tutorial)

Opa cara, via javascript ou form normal mesmo. Quanto à comunicação direto com classes Java, não rola.

Qanto ao import de arquivos js e css, coloque-os logo após a tag <window> e antes dela, respectivamente:

<?xml-stylesheet href=“MeusEstilos.css” type=“text/css”?>
<window>
<script language=“javascript” src=“MinhasFunctions.js”/>

</window>

Brother,
Vou te incomodar mais um pouco, que achei bem interessante esse XUL.
Como você faz para ele ler os dados vindo de um servlet?
Por exemplo, no servlet geralmente eu chamo uma página, e jogo os atributos na session, ou então pelo objeto request mesmo eu recupero no JSP. Como você faz isso no XUL?
Por exemplo, no servlet eu consulto o banco e trago os registros, como no XUL você preenche um campo com os dados vindos do servlet? Ou você monta o XUL dentro do servlet mesmo?

Grato.
Rafael

Pode encher o saco à vontade.

Bem, eu estou usando Velocity, mas com JSP, basta enfiar código JSP lá no meio hehe

Não se esqueça de colocar isso (com jsp) antes da declaração do xml
$res.setHeader(“Content-Type”, “application/vnd.mozilla.xul+xml”)

aí pode fazer algo do tipo
<textbox value="<%= minhaVariavel %>"/>

Putz, agora é que me fodeu as idéia de vez.

[quote]Não se esqueça de colocar isso (com jsp) antes da declaração do xml
$res.setHeader(“Content-Type”, “application/vnd.mozilla.xul+xml”)[/quote]

Pelo que entendi, dentro do arquivo .xul, eu vou colocar esta declaração?
tipo:[code]<%res.setHeader(“Content-Type”, “application/vnd.mozilla.xul+xml”);%>

<?xml version="1.0"?> <?xml-stylesheet href="chrome://global/skin/" type="text/css"?>[/code]

Mas se é o container quem reconhece o JSP e envia o HTML para o browser, como que o navegador vai reconhecer os ‘comandos’ .jsp dentro do XUL?
E outra, eu hoje crio os .xul e chamo pela linha de comando, enviando por um servlet, eu vou ter que obrigatoriamente abrir ele pelo browser, utilizando a URL?

Grato.

hehe desculpe, não expliquei direito, e ainda dei o exemplo usando Velocity hehe

Sua página será .jsp, pois o container tem que fazer o serviço dele. Só que você quer que o resutado final seja uma página XUL, e não o padrão html.
Então, lá no topo, antes de tudo, você deve colocar o seguinte:

<%response.setHeader( “Content-Type”, “application/vnd.mozilla.xul+xml” )>%

Mas esse é o jeito feio, o certo é fazer algo que funcione com para a aplicação inteira hehe.

Hun, blza, agora eu consegui!!! :smiley:

Não entendi essa frase!?!Aliás, acho que tá faltando ou sobrando palavras nela…hehe

Obs:Já abusando de tua boa vontade, quando eu executo o .xul pela linha de comando, ele some com todas barras do Firefox, sem barra de endereço, ferramentas, navegação, etc. Tem como eu fazer isso via código, deixar somante a barra de título, como acontece quando eu chamo pela linha de comando.

Brigadão mais uma vez.
Rafael

você quer colocar essa linha no topo de todas as suas páginas? hehe

bem, para sumir com as coisas precisa fazer uma função em javascript para abrir um popup sem as barras.

Enquanto tô só testando, tem problema não.

Quanto ao dimensionamento da janela, lembrei dessas funções javascript.

Valeu aí pela força, agora vou tentar fazer uns trecos aqui.

tranquilo

lembre-se de procurar no fórum deles também, há bastante coisa já respondida por lá ;D

Aqui tem um exemplo de 10% do que da pra fazer :smiley:

http://erainfo.blogspot.com/2004/07/interfaces-em-xml-com-o-xul.html

legal isso Marcelo ;D

o melhor de tudo é que o usuário pode instalar outras skins do firefox … deixando o software do jeito que ele gosta hehe ;D

mas estou de olho mesmo no Laszlo