[Logo] Neo Framework Forum
  [Search] Busca   [Recent Topics] Tópicos Recentes   [Members]  Lista de Usuários   [Groups] De volta para a página principal 
[Register] Registrar / 
[Login] Entrar 
Mensagens enviadas por: guilherme.pimentel  XML
Perfil de guilherme.pimentel -> Mensagens enviadas por guilherme.pimentel [108] Ir para a página: Anterior  1, 2, 3, 4, 5, 6, 7, 8 Próximo 
Autor Mensagem
Eu aqui no meu sistema fiz o seguinte criei o seguinte controller e todos meus outro controller acessam ele:

Code:
 package br.com.geoexplore.geoenterprise.adm.controller;
 
 import br.com.linkcom.neo.controller.crud.CrudController;
 import br.com.linkcom.neo.controller.crud.FiltroListagem;
 import br.com.linkcom.neo.core.web.WebRequestContext;
 
 public class GeoController<FILTRO extends FiltroListagem, FORMBEAN, BEAN>  extends CrudController<FILTRO, FORMBEAN, BEAN> {
 	@Override
 	protected void salvar(WebRequestContext request, BEAN bean) throws Exception {
 		super.salvar(request, bean);
 		request.addMessage("Registro salvo com sucesso!");
 	}
 	@Override
 	protected void excluir(WebRequestContext request, BEAN bean) throws Exception {
 		super.excluir(request, bean);
 		request.addMessage("Registro excluido com sucesso!");
 	}	
 }
 


é isso que vc quer????
Tem como eu trocar a forma de selecionar o registro para editar ??? A forma que eu gostaria era a seguinte, en quanquer lugar da linha do registro que o usuario clicar o sistema abre a tela de edição sem ter que clicar no botão de editar. Tem como fazer isso???
Esse problema acontece quando é vinculada no projeto a biblioteca prototype:

http://www.prototypejs.org/

eu tentei colocar ela e acontece esse problema... sem ela tudo fica normal

Valeu!!!!
ok valeu!!!!!
Vc´s ja pensaram na possibilidade da convesão do bean no lado do servidor para o lado do cliente. A questão é a seguinte eu fiz o seginte codigo:

Code:
	public void getCoordenadaZPiezometro(WebRequestContext request,Model model)throws IOException{
 		Piezometro piezometro = (Piezometro) model.getModelo();
 		request.getServletResponse().getWriter().println(piezometroService.load(piezometro).getZ().floatValue());
 	}


nesse caso eu pego somente uma propriedade teria como eu pegar todas as propriedades do bean e no JavaScript eu poderia ver todas as informações do bean ao invez de ter que fazer um metodo para cada atributo. deu pra entender???
Coloquei nesse metodo.

Code:
 	@Override
 	public ModelAndView doEntrada(WebRequestContext request, Piezometro form) throws CrudException {
 		if (((GeoBean)form).getId() == null){
 			form.setStatus("O");	
 		}
 		return super.doEntrada(request, form);
 	}
 
 
Funcionou certinho valeu!!!!!!
Em qual metodo do controller????
Como faço para colocar um valor padrão em um campo quando eu entro na tela de cadastro, somente quando eu crio um novo registro???
Boa tarde, eutenho um bean Estrutura que tem como pai uma Area

Code:
 public class Estrutura extends GeoBean{
     ...	
     private Area 	area;
     ...
 
     @ManyToOne
     @JoinColumn(name = "GB0NUMAR", referencedColumnName = "ADANUMAR")
     @Required
     public Area getArea() {
 	return area;
     }
     ...
 
 


A area esta da seguinte forma:

Code:
 public class Area extends GeoBean{
     ...
     private Projeto projeto;
     ...
 
 	@Required
     @ManyToOne
     @JoinColumn(name = "ADANUMPJ", referencedColumnName = "ADBNUMPJ")
     public Projeto getProjeto() {
 	return projeto;
     }	
     ...
 
 


Na entrada de dados da estrutura esta funcionando o o combo dinamico do Projeto e Area:

Code:
 
 			<n:comboReloadGroup useAjax="true">
 				<t:property name="area.projeto" label="Projeto" ONCHANGE="getBean(this)" />
 				<t:property name="area" 		label="Area" 	ONCHANGE="getBean(this)" />
 			</n:comboReloadGroup>
 
 


mas no filtro o combo do projeto esta como requerido e quando eu não preencho o Combo da Area dá um erro, o EstruturaFiltro esta da seguinte forma:

Code:
 
 public class EstruturaFiltro extends FiltroListagem {
 	private Area area;
                 ...	
 	public Area getArea() {
 		return area;
 	}
                 ...
 }
 
 


O EstruturaDAO esta assim:

Code:
 
 	@Override
 	public void updateListagemQuery(QueryBuilder<Estrutura> query, FiltroListagem _filtro) {
         EstruturaFiltro filtro = (EstruturaFiltro) _filtro;
         query.where("estrutura.area = ?", filtro.getArea())
 	 		 .whereLike("estrutura.codigo", filtro.getCodigo())
 	 		 .whereLike("estrutura.nome", filtro.getNome())
 	 		 .whereLike("estrutura.tipo", filtro.getTipo());
 	}
 
 


E o jsp de listagem esta assim:

Code:
 
 ...
 	<t:janelaFiltro>
     	<t:tabelaFiltro>
 			<n:comboReloadGroup useAjax="true">
 				<t:property name="area.projeto" label="Projeto"/>
 				<t:property name="area" 		label="Area"/>
 			</n:comboReloadGroup>
 			<t:property name="codigo"/>
 			<t:property name="nome"/>
 			<t:property name="tipo"/>
 		</t:tabelaFiltro>
     </t:janelaFiltro>
 ...
 


Deu pra entender ???? sabe oque pode ser???
Tem como vc explicar melhor como eu implementaria essa annotation???
A questão é o seguinte o @DescriptionProperty eu coloquei na sigla dos objetos pois serão eles que irão aparecer no grid por exemplo e nos combos eu tenho que listar ele e ao lado eu preciso de mostrar uma outroa propriedade .... ai que vem o problema como vc´s viram ... essa propriedade vai depender de bean para bean .... será que seria interessante buscar o valor da propriedade com reflexão??? outra coisa ... no exemplo que vc colocou o Model teria que ter o atributo modelo do tipo Object mesmo ou teria que ter um para cada um????
Certo... eu fiz o seguinte.. no EntradaTag.jsp coloquei essa função:

Criei uma classe para receber as requisições ajax:

Code:
 
 @Controller(path="/adm/AjaxCombo")
 public class ComboAjaxController extends MultiActionController {
 	AreaService 		areaService;	
 	ProjetoService 		projetoService;
 	....
 
 	public void setAreaService(AreaService areaService) {
 		this.areaService = areaService;
 	}
 	public void setProjetoService(ProjetoService projetoService) {
 		this.projetoService = projetoService;
 	}
                  ...
 
 
 	public void getProjeto(WebRequestContext request)throws IOException{
 		Projeto projeto = (Projeto) ServletRequestDataBinderNeo.translateObjectValue(null, request.getParameter("projeto"), null);
 		request.getServletResponse().getWriter().print(projetoService.load(projeto).getDescricao());
 	}
 	public void getArea(WebRequestContext request)throws IOException{
 		Area area = (Area) ServletRequestDataBinderNeo.translateObjectValue(null, request.getParameter("area"), null);
 		request.getServletResponse().getWriter().print(areaService.load(area).getNome());
 	}
                   .....
 }
 
 



Code:
 			var objName = '';
 			function getBean(obj){
 				objName  = obj.name;
 			    beanName = obj.name.substring(obj.name.lastIndexOf('.')+1,obj.name.length);
 			    metodo   = 'get' + beanName.substring(0,1).toUpperCase() + beanName.substring(1,beanName.length);
 				
 				if (obj.value != "<null>"){
 					sendRequest('${pageContext.request.contextPath}/adm/AjaxCombo?'+beanName+'='+obj.value,'ACAO='+metodo,'POST', setDescricaoBean, erroChamarAjax);
 				}else{
 			 		document.getElementById("msg."+objName).style.display = "none";
 		 			document.getElementById("msg."+objName).innerHTML = "";
 				}
 			}
 			function setDescricaoBean(data){
 				if (data == 'null')data = 'Descrição não preenchida';
 		 		document.getElementById("msg."+objName).style.display = "";
 		 		document.getElementById("msg."+objName).innerHTML = data;
 			}
 			function erroChamarAjax(request){
 		 		document.getElementById("msg."+objName).style.display = "";
 		 		document.getElementById("msg."+objName).innerHTML = request.responseText;
 			}		 
 


e no JSP eu coloquei o seguinte codigo

Code:
 			<n:comboReloadGroup useAjax="true">
 				<t:property name="area.projeto" label="Projeto" ONCHANGE="getBean(this)" />
 				<t:property name="area" 		label="Area" ONCHANGE="getBean(this)" />
 			</n:comboReloadGroup>
 



Ficou assim ..... será que tem como melhorar????
Bom dia, eu fiz tudo isso e esta funcionando, o que eu quero agora é o seguinte. No combo(que é listado um codigo String) quando o usuario altera o valor eu queria fazer com que na frente do combo aparecesse a descrição do bean, para fazer isso eu teria que chamar o metodo load() do Service do respectivo bean na entrada via ajax, mas existe alguma forma mais facil de fazer isso???? deu pra entender???
Esta no Topico http://www.neoframework.org/forum/posts/list/41.page
que vc´s vão colocar um tutorial de Internacionalização isso ja esta sendo feito??? pois eu não sei como fazer..... ou então algum link que mostra como é feito isso no Spring ja que o FrameWork é baseado nele.

Obrigado,
 
Perfil de guilherme.pimentel -> Mensagens enviadas por guilherme.pimentel [108] Ir para a página: Anterior  1, 2, 3, 4, 5, 6, 7, 8 Próximo 
Ir para:   
Powered by JForum 2.1.7 © JForum Team