Desenvolvimento ZK em 3 camadas

4 respostas
Drockx

Bom pessoal estou estudando zk a pouco tempo uma 4 dias dai parei em um problema aqui,
tenho a pagina feita mais não sei como pegar os eventos dela no controle tipo
tenho uma tela de cadastros de cliente ai quando clicar no botão incluir dispara um evento
la no controleCliente no servidor entenderam em 3 camadas ai la que eu vou verificar se esta ok e
depois gravar no banco o cliente não sei como faço pra pegar esse evento la no controle. Valeu!

4 Respostas

fantomas

Neste link você ira encontrar explicações sobre isto:

http://docs.zkoss.org/wiki/ZK_MVC_Made_Easy

flws

Drockx

Valeu fantomas deu pra entender :smiley:

Drockx

olha so santomas tenho essa classe Funcionario.zul

e tenho a outra classe ControleFuncionario onde quero manipular os eventos dessa
Funcionario.zul
não sei como fazer não estou conseguindo

<?page title="Funcionnário" contentType="text/html;charset=UTF-8"?>
<zk><zscript><![CDATA[//@IMPORT 
    import controle.FuncionarioControle;                  
]]></zscript>
<window id = "wFuncionario" title="Manter Cadastro" 
    border="normal" width = "600px"   closable = "true">
<tabbox>
	<tabs>
		<tab id="tabCad" label = "Manter Cadastro" />
		<tab id="tabPesquisa" label="Pesquisar" />
	</tabs>
	<tabpanels>
		<tabpanel>
			<grid>
			  <columns>
				 <column label=""/>
				 <column label=""/>
			  </columns>
			  <rows>
				 <row>
				     <label value="id"/>
				     <intbox id="fun_id" cols="5"
				     readonly = "true"/>	
				 </row>
				 <row>
				 
				 
				 
				 
				      <label value = "lotacao"/>
				      <listbox id="lotacao" mold="select">
				      	 <listitem label = "lotacao 1"/>
				      	 <listitem label = "lotacao 2"/>
				      	 <listitem label = "lotacao 3"/>
				      	 <listitem label = "lotacao 4"/>
				      </listbox>
				 </row>
				 <row>
				 	<label value = "nome"/>
				 	<textbox id="fun_nome" cols = "30"/>
				 </row>
				 <row>
				     <label value = "data nascimento"/>
				     <datebox id="fun_datanasc"
				         format = "dd/MM/yyyy"/> 
				 </row> 
				 <row>
				 	 <label value = "salario"/>
				 	 <doublebox id="fun_salario"/>
				 </row>
			  </rows>
		   </grid>
		   <groupbox>
		   		<div align = "center">
		   			<button id="btnIcluir" label = "Incluir"/>
		   			<button id="btnAlterar" label = "Alterar"/>
		   			<button id="btnExcluir" label = "Excluir"/>
		   			<button id="btnLimpar" label = "Limpar"/>
		   		</div>
		   </groupbox>
		</tabpanel>
		<tabpanel>
			<grid>
			<columns>
				<column label=""/>
				<column label=""/>
			</columns>
			<rows>
				<row>	
					<label value = "Pesquisa"/>
					<textbox id = "txtPesquisa" cols = "40"/>
				</row>
			</rows>
		</grid>
			<groupbox>
			    <listbox rows = "6">
					<listhead>
						<listheader label="id" sort="auto" />
						<listheader label="Nome" sort="auto" />
						<listheader label="Data Nasc" sort="auto"/>
					</listhead>
					<listitem>
						<listcell label="" />
						<listcell label="" />
						<listcell label="" />
					</listitem>
					<listitem>
						<listcell label="" />
						<listcell label="" />
						<listcell label="" />
					</listitem>
				</listbox>
		    </groupbox>
		    	<groupbox> 
		    		<div align ="center">
		    			<button id="btnLimparLista" label="limpar"/>
		    			<button id="btnAtualizarLista" label="Atualizar"/>
		    		</div>
		    	</groupbox>
		</tabpanel>
	</tabpanels>
</tabbox>
</window> 
</zk>

//Classe ControleFuncionario


package controle;


//Como faço pra pegar os eventos aqui na classe controle??

public class FuncionarioControle  {



}
fantomas

Drockx,

a) Na pagina .zul você tem que utilizar o atributo apply indicando o controller (FuncionarioControle), não precisa importar

b) A classe que representa o  controller (FuncionarioControle) herda caracteristicas da classe GenericAutowireComposer que por sua vêz implementa os eventos.

 Estes detalhes e muitos outros estão no link que passei, leia novamente e verá.

flws

Criado 2 de novembro de 2011
Ultima resposta 3 de nov. de 2011
Respostas 4
Participantes 2