Autor |
Mensagem |
|
Oi,
To tentando colocar minha aplicação na locaweb em um jvm dedicado deles e estou tendo alguma dificuldade... Existe algo no framework que possa dar problemas nesse caso? Ou posso ficar tranquilo quanto a isso?
abraços
|
 |
|
Funcionou perfeitamente.
Valeu mesmo.
|
 |
|
Valeu mesmo. Estarei colocando em pratica amanhã e posto qualquer duvida.
|
 |
|
Funcionou beleza.
Agora qual o porque disso? É simples de explicar?
abraços
|
 |
|
Tentei mudar meu sistema para a nova versão do neo e agora não está aparecendo mais nenhuma tela, apenas o menu. Quando tento colocar o endereço de uma tela, faz até o select mas não aparece nada.
Fora isso estou com uma duvida meio fora do contexto do neo, mas agradeceria se alguem pudesse me ajudar.
A pasta do metadata a seguir:
.metadata\.plugins\org.eclipse.wst.server.core\tmp0\webapps
pode ser apagada não? Eu não estou conseguindo fazer com que o eclipse gere novamente os arquivos necessarios ali para roda a aplicação.
obrigado pela ajuda;
abraços
|
 |
|
Valeu,
Estou utilizando o combo comum e tentando encontrar o erro... Se eu achar alguma coisa te digo.
|
 |
|
Continando (se preferir ainda mando por email)
Tipochamada
Code:
package org.neo.exemplo.bean;
import java.util.Map;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.SequenceGenerator;
import javax.persistence.Transient;
import br.com.linkcom.neo.bean.annotation.DescriptionProperty;
import br.com.linkcom.neo.validation.annotation.MaxLength;
import br.com.linkcom.neo.validation.annotation.Required;
@Entity
@SequenceGenerator(name="tipochamada_idtipochamada_seq", sequenceName="tipochamada_idtipochamada_seq")
public class Tipochamada {
private Long idtipochamada;
private String tipochamada;
private String codigo;
private String tipoPublicacao;
public Tipochamada(){
}
public Tipochamada(String padrao){
this.codigo = padrao;
this.tipochamada = padrao;
}
@Required
@Column(name="tipopublicacao")
public String getTipoPublicacao() {
return tipoPublicacao;
}
@Transient
public String getTipoPublicacaoDescricao(){
if (this != null)
return TipoPublicacao.getMap().get(tipoPublicacao);
else
return "";
}
@Transient
public Map<String,String> getTipoPublicacaoCombo(){
return TipoPublicacao.getMap();
}
@Required
@MaxLength(40)
public String getCodigo() {
return codigo;
}
@Id
@GeneratedValue(strategy=GenerationType.AUTO, generator="tipochamada_idtipochamada_seq")
public Long getIdtipochamada() {
return idtipochamada;
}
@DescriptionProperty
@Required
@MaxLength(60)
public String getTipochamada() {
return tipochamada;
}
public void setCodigo(String codigo) {
this.codigo = codigo;
}
public void setIdtipochamada(Long idtipochamada) {
this.idtipochamada = idtipochamada;
}
public void setTipochamada(String tipochamada) {
this.tipochamada = tipochamada;
}
public void setTipoPublicacao(String tipoPublicacao) {
this.tipoPublicacao = tipoPublicacao;
}
}
ConteudoCrud
Code:
package org.neo.exemplo.controller;
import java.sql.Timestamp;
import org.neo.exemplo.bean.Conteudo;
import org.neo.exemplo.service.ConteudoService;
import br.com.linkcom.neo.controller.Controller;
import br.com.linkcom.neo.controller.crud.CrudController;
import br.com.linkcom.neo.core.web.WebRequestContext;
@Controller(path="/modulo/crud/Conteudo")
public class ConteudoCrud extends CrudController<ConteudoFiltro, Conteudo, Conteudo> {
ConteudoService conteudoService;
public ConteudoService getConteudoService() {
return conteudoService;
}
public void setConteudoService(ConteudoService conteudoService) {
this.conteudoService = conteudoService;
}
@Override
protected void salvar(WebRequestContext arg0, Conteudo conteudo) throws Exception {
Timestamp dataAtual = new Timestamp(System.currentTimeMillis());
if (conteudo.getIdconteudo() == null)
conteudo.setDataCadastro(dataAtual);
conteudo.setDataAlteracao(dataAtual);
super.salvar(arg0, conteudo);
conteudoService.geraXml(conteudo);
}
}
ConteudoDAO
Code:
package org.neo.exemplo.dao;
import java.util.List;
import org.neo.exemplo.bean.Conteudo;
import org.neo.exemplo.bean.Home;
import org.neo.exemplo.controller.ConteudoFiltro;
import br.com.linkcom.neo.controller.crud.FiltroListagem;
import br.com.linkcom.neo.persistence.GenericDAO;
import br.com.linkcom.neo.persistence.QueryBuilder;
public class ConteudoDAO extends GenericDAO<Conteudo> {
@Override
public void updateEntradaQuery(QueryBuilder<Conteudo> query) {
query.leftOuterJoinFetch("conteudo.imagem");
}
@Override
public void updateListagemQuery(QueryBuilder<Conteudo> query, FiltroListagem _filtro) {
ConteudoFiltro filtro = (ConteudoFiltro) _filtro;
query.joinFetch("conteudo.canal")
.leftOuterJoinFetch("conteudo.subcanal")
.leftOuterJoinFetch("conteudo.imagem")
.whereLike("conteudo.titulo", filtro.getTitulo())
.where("conteudo.canal = ?", filtro.getCanal())
.where("conteudo.subcanal = ?", filtro.getSubcanal())
.where("conteudo.autor = ?", filtro.getAutor());
}
@Override
public Conteudo load(Conteudo conteudo) {
if (conteudo == null)
return null;
QueryBuilder<Conteudo> query= newQueryBuilder(Conteudo.class)
.from(Conteudo.class)
.joinFetch("conteudo.autor")
.joinFetch("conteudo.canal")
.leftOuterJoinFetch("conteudo.subcanal")
.leftOuterJoinFetch("conteudo.imagem")
.leftOuterJoinFetch("conteudo.imagem.arquivo")
.leftOuterJoinFetch("conteudo.imagem2")
.leftOuterJoinFetch("conteudo.imagem2.arquivo")
.leftOuterJoinFetch("conteudo.imagemChamada")
.leftOuterJoinFetch("conteudo.imagemChamada.arquivo");
return query.entity(conteudo).unique();
}
public Conteudo loadForChamada(Conteudo conteudo) {
if (conteudo == null)
return null;
QueryBuilder<Conteudo> query= newQueryBuilder(Conteudo.class)
.from(Conteudo.class)
.joinFetch("conteudo.canal")
.leftOuterJoinFetch("conteudo.subcanal")
.leftOuterJoinFetch("conteudo.imagemChamada")
.leftOuterJoinFetch("conteudo.imagemChamada.arquivo");
return query.entity(conteudo).unique();
}
public List<Conteudo> listForHome(Home home){
QueryBuilder<Conteudo> query = newQueryBuilder(Conteudo.class)
.from(Conteudo.class)
.joinFetch("conteudo.canal")
.leftOuterJoinFetch("conteudo.subcanal")
.leftOuterJoinFetch("conteudo.imagemChamada")
.leftOuterJoinFetch("conteudo.imagemChamada.arquivo")
.where("conteudo.canal = ?", home.getCanal());
if (home.getSubcanal() != null)
query.where("conteudo.subcanal = ?", home.getSubcanal());
query.orderBy("conteudo.idconteudo desc").setMaxResults(home.getNumeroChamadas());
return query.list();
}
}
conteudoEntrada.jsp
Code:
<%@ taglib prefix="n" uri="neo"%>
<%@ taglib prefix="t" uri="template"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<t:entrada>
<t:janelaEntrada>
<t:tabelaEntrada>
<t:property name="idconteudo"/>
<c:if test="${conteudo.idconteudo != null}">
<t:property name="dataCadastro" readonly="readonly" />
</c:if>
<n:comboReloadGroup useAjax="true">
<t:property name="canal"/>
<t:property name="subcanal"/>
</n:comboReloadGroup>
<t:property name="titulo"/>
<t:property name="subtitulo"/>
<t:property rows="12" cols="60" name="texto"/>
<t:property name="tituloChamada"/>
<t:property name="textoChamada" rows="10" cols="60"/>
<t:property name="autor"/>
<t:property name="imagem" selectOnePath="/modulo/crud/Imagem"/>
<t:property name="imagem2" selectOnePath="/modulo/crud/Imagem"/>
<t:property label="Imagem da Chamada" name="imagemChamada" selectOnePath="/modulo/crud/Imagem"/>
</t:tabelaEntrada>
</t:janelaEntrada>
</t:entrada>
conteudoListagem
Code:
<%@ taglib prefix="n" uri="neo"%>
<%@ taglib prefix="t" uri="template"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<t:listagem>
<t:janelaFiltro>
<t:tabelaFiltro>
<t:property name="titulo"/>
<n:comboReloadGroup useAjax="true">
<t:property name="canal" label="Canal:"/>
<t:property name="subcanal" label="Subcanal:"/>
</n:comboReloadGroup>
<t:property name="autor"/>
</t:tabelaFiltro>
</t:janelaFiltro>
<t:janelaResultados>
<t:tabelaResultados>
<t:property name="idconteudo"/>
<t:property name="titulo"/>
<t:property name="subtitulo"/>
<t:property name="ultimoCanal"/>
</t:tabelaResultados>
</t:janelaResultados>
</t:listagem>
Talvez aqui seja suficiente se vc colocar uns valores no banco para suprir as necessidades da tela... Qualquer coisa me fala, e valeu mesmo pela ajuda...
Só falto isso e o controle de acesso para terminar um projeto que estou fazendo aqui.
abraços
|
 |
|
Vou postar os arquivos que acho necessario para fazer o teste... Caso precise de mais alguma coisa me diga que vou postando.
HomeController
Code:
package org.neo.exemplo.controller;
import java.util.List;
import org.neo.exemplo.bean.Chamada;
import org.neo.exemplo.bean.Home;
import org.neo.exemplo.bean.TipoPublicacao;
import org.neo.exemplo.service.CanalService;
import org.neo.exemplo.service.HomeService;
import org.neo.exemplo.service.SubcanalService;
import org.springframework.web.servlet.ModelAndView;
import br.com.linkcom.neo.controller.Action;
import br.com.linkcom.neo.controller.Controller;
import br.com.linkcom.neo.controller.DefaultAction;
import br.com.linkcom.neo.controller.MultiActionController;
import br.com.linkcom.neo.core.web.WebRequestContext;
@Controller(path="/modulo/PublicarHome")
public class HomeController extends MultiActionController {
HomeService service;
CanalService canalService;
SubcanalService subcanalService;
public CanalService getCanalService() {
return canalService;
}
public SubcanalService getSubcanalService() {
return subcanalService;
}
public void setCanalService(CanalService canalService) {
this.canalService = canalService;
}
public void setSubcanalService(SubcanalService subcanalService) {
this.subcanalService = subcanalService;
}
public HomeService getService() {
return service;
}
public void setService(HomeService service) {
this.service = service;
}
@DefaultAction
public ModelAndView escolherCanal(WebRequestContext request,Chamada chamada){
List<Home> lHomeFormatadas = service.findAllFormatadas();
request.setAttribute("lHome", lHomeFormatadas);
request.setAttribute("chamada", chamada);
return new ModelAndView("homeSelecionar");
}
@Action("definirPublicacao")
public ModelAndView definirConteudo(WebRequestContext request,Chamada chamada){
Home home = service.load(chamada.getHome());
request.setAttribute("home", home);
request.setAttribute("tipoPublicacao",new TipoPublicacao());
return new ModelAndView("definirConteudoHome");
}
@Action("salvar")
public ModelAndView salvar(WebRequestContext request,Home home){
System.out.print("id="+home.getIdhome());
service.saveOrUpdate(home);
service.geraXml(home);
//request.setAttribute("home", home);
return new ModelAndView("sucesso");
}
}
homeSelecionar.jsp
Code:
<%@ taglib prefix="n" uri="neo"%>
<%@ taglib prefix="t" uri="template"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<t:tela titulo="Definir Home">
<n:bean name="chamada">
<t:propertyConfig mode="input" renderAs="double" showLabel="true" >
<n:panelGrid columns="4">
<t:property label="home:" name="home" mode="input" labelStyle="font-size:9pt;font-weight:bold" itens="${lHome}"/>
<n:submit action="definirPublicacao" >publicar</n:submit>
</n:panelGrid>
</t:propertyConfig>
</n:bean>
</t:tela>
definirConteudoHome ( onde está ocorrendo o erro)
Code:
<%@ taglib prefix="n" uri="neo"%>
<%@ taglib prefix="t" uri="template"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<t:tela titulo="Definir Home">
<n:bean name="home">
<t:property name="canal.idcanal" mode="input" type="hidden"/>
<t:property name="subcanal.idsubcanal" mode="input" type="hidden"/>
<t:property name="idhome" mode="input" type="hidden" />
<t:property name="exibicao" mode="input" type="hidden" />
<t:property name="titulo" mode="input" readonly="readonly" />
<n:panelGrid columns="3">
<c:forEach var="chamadas" items="${home.chamadas}" varStatus="status">
<t:property name="chamadas[${status.index}].tipochamada.idtipochamada" mode="input" type="hidden"/>
<n:panel ><a style="font-size:9pt;font-weight:bold">${chamadas.tipochamada.tipochamada }:</a></n:panel>
<c:if test="${chamadas.tipochamada.tipoPublicacao eq tipoPublicacao.conteudo}">
<t:property label="conteudo:" name="chamadas[${status.index}].conteudo" mode="input" labelStyle="font-size:9pt;font-weight:bold" selectOnePath="/modulo/crud/Conteudo"/>
</c:if>
<c:if test="${chamadas.tipochamada.tipoPublicacao eq tipoPublicacao.galeria}">
<t:property label="galeria:" name="chamadas[${status.index}].galeria" mode="input" labelStyle="font-size:9pt;font-weight:bold" selectOnePath="/modulo/crud/Galeria"/>
</c:if>
</c:forEach>
</n:panelGrid>
<n:panel colspan="2">
<n:submit action="salvar">salvar</n:submit>
</n:panel>
</n:bean>
</t:tela>
Conteudo:
Code:
package org.neo.exemplo.bean;
import java.io.File;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.SequenceGenerator;
import javax.persistence.Transient;
import br.com.linkcom.neo.bean.annotation.DescriptionProperty;
import br.com.linkcom.neo.validation.annotation.MaxLength;
import br.com.linkcom.neo.validation.annotation.Required;
@Entity
@SequenceGenerator(name="conteudo_idconteudo_seq", sequenceName="conteudo_idconteudo_seq")
public class Conteudo {
public static String pathRaiz ="C:\\Desenv\\projetos\\neo\\web\\xml";
private static String pastaXml = "conteudo";
private Long idconteudo;
private String titulo;
private String subtitulo;
private String texto;
private String tituloChamada;
private String textoChamada;
private Date dataCadastro;
private Date dataAlteracao;
private Autor autor;
private Imagem imagem;
private Imagem imagem2;
private Imagem imagemChamada;
private Canal canal;
private Subcanal subcanal;
@JoinColumn(name="idimagem_chamada", referencedColumnName="idimagem")
@ManyToOne(fetch=FetchType.LAZY)
public Imagem getImagemChamada() {
return imagemChamada;
}
@JoinColumn(name="idimagem2", referencedColumnName="idimagem")
@ManyToOne(fetch=FetchType.LAZY)
public Imagem getImagem2() {
return imagem2;
}
@JoinColumn(name="idcanal")
@ManyToOne(fetch=FetchType.LAZY)
@Required
public Canal getCanal() {
return canal;
}
@JoinColumn(name="idsubcanal")
@ManyToOne(fetch=FetchType.LAZY)
public Subcanal getSubcanal() {
return subcanal;
}
@Required
@JoinColumn(name="idautor")
@ManyToOne(fetch=FetchType.LAZY)
public Autor getAutor() {
return autor;
}
@Column(name="dt_alteracao")
public Date getDataAlteracao() {
return dataAlteracao;
}
@Column(name="dt_cadastro")
public Date getDataCadastro() {
return dataCadastro;
}
@Id
@GeneratedValue(strategy=GenerationType.AUTO, generator="conteudo_idconteudo_seq")
public Long getIdconteudo() {
return idconteudo;
}
@JoinColumn(name="idimagem")
@ManyToOne(fetch=FetchType.LAZY)
public Imagem getImagem() {
return imagem;
}
@MaxLength(50)
public String getSubtitulo() {
return subtitulo;
}
@Required
public String getTexto() {
return texto;
}
@MaxLength(200)
@Required
@Column(name="texto_chamada")
public String getTextoChamada() {
return textoChamada;
}
@Required
@MaxLength(50)
public String getTitulo() {
return titulo;
}
@MaxLength(50)
@DescriptionProperty
@Required
@Column(name="titulo_chamada")
public String getTituloChamada() {
return tituloChamada;
}
@Transient
public String getPathXml(){
String path = pathRaiz;
if (this != null){
path += File.separator + getCanal().getCodigo();
if (getSubcanal() != null)
path += File.separator + getSubcanal().getCodigo();
}
path += File.separator + pastaXml;
return path;
}
@Transient
public String getNameXml(){
return idconteudo + ".xml";
}
@Transient
public String getUrlChamada(){
String url = "";
if (this != null){
url += File.separator + getCanal().getCodigo();
if (getSubcanal() != null)
url += File.separator + getSubcanal().getCodigo();
}
url += File.separator + "conteudo.jsp?xml=" + pastaXml + File.separator + getNameXml();
return url;
}
@Transient
public String getUltimoCanal(){
if (getSubcanal() != null)
return getSubcanal().getSubcanal();
else
return getCanal().getCanal();
}
public void setAutor(Autor autor) {
this.autor = autor;
}
public void setDataAlteracao(Date dataAlteracao) {
this.dataAlteracao = dataAlteracao;
}
public void setDataCadastro(Date dataCadastro) {
this.dataCadastro = dataCadastro;
}
public void setIdconteudo(Long idconteudo) {
this.idconteudo = idconteudo;
}
public void setImagem(Imagem imagem) {
this.imagem = imagem;
}
public void setSubtitulo(String subtitulo) {
this.subtitulo = subtitulo;
}
public void setTexto(String texto) {
this.texto = texto;
}
public void setTextoChamada(String textoChamada) {
this.textoChamada = textoChamada;
}
public void setTitulo(String titulo) {
this.titulo = titulo;
}
public void setTituloChamada(String tituloChamada) {
this.tituloChamada = tituloChamada;
}
public void setCanal(Canal canal) {
this.canal = canal;
}
public void setSubcanal(Subcanal subcanal) {
this.subcanal = subcanal;
}
public void setImagem2(Imagem imagem2) {
this.imagem2 = imagem2;
}
public void setImagemChamada(Imagem imagemChamada) {
this.imagemChamada = imagemChamada;
}
}
Home:
Code:
package org.neo.exemplo.bean;
import java.io.File;
import java.util.List;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.SequenceGenerator;
import javax.persistence.Transient;
import br.com.linkcom.neo.bean.annotation.DescriptionProperty;
import br.com.linkcom.neo.validation.annotation.MaxLength;
import br.com.linkcom.neo.validation.annotation.Required;
@Entity
@SequenceGenerator(name="home_idhome_seq", sequenceName="home_idhome_seq")
public class Home {
//constantes
public static String pathRaiz ="C:\\Desenv\\projetos\\neo\\web\\xml";
public static String EXIBICAO_LISTA_DESC = "lista de chamadas";
public static String EXIBICAO_LISTA_COD = "l";
public static String EXIBICAO_FORMATADA_DESC = "home formatada";
public static String EXIBICAO_FORMATADA_COD = "f";
//atributos
private Long idhome;
private Canal canal;
private Subcanal subcanal;
private Integer numeroChamadas;
private List<Chamada> chamadas;
private String exibicao;
private String titulo;
@MaxLength(50)
@DescriptionProperty
@Required
public String getTitulo() {
return titulo;
}
public void setTitulo(String titulo) {
this.titulo = titulo;
}
@OneToMany(mappedBy="home")
public List<Chamada> getChamadas() {
return chamadas;
}
@Column(name="numero_chamadas")
public Integer getNumeroChamadas() {
return numeroChamadas;
}
@JoinColumn(name="idcanal")
@ManyToOne(fetch = FetchType.LAZY)
public Canal getCanal() {
return canal;
}
@Id
@GeneratedValue(strategy = GenerationType.AUTO, generator="home_idhome_seq")
public Long getIdhome() {
return idhome;
}
@JoinColumn(name="idsubcanal")
@ManyToOne
public Subcanal getSubcanal() {
return subcanal;
}
@MaxLength(1)
public String getExibicao() {
return exibicao;
}
@Transient
public String getPathXml(){
String path = pathRaiz;
if (this != null){
path += File.separator + getCanal().getCodigo();
if (getSubcanal() != null)
path += File.separator + getSubcanal().getCodigo();
}
return path;
}
public void setCanal(Canal canal) {
this.canal = canal;
}
public void setIdhome(Long idhome) {
this.idhome = idhome;
}
public void setSubcanal(Subcanal subcanal) {
this.subcanal = subcanal;
}
public void setChamadas(List<Chamada> chamadas) {
this.chamadas = chamadas;
}
public void setNumeroChamadas(Integer numeroChamadas) {
this.numeroChamadas = numeroChamadas;
}
public void setExibicao(String exibicao) {
this.exibicao = exibicao;
}
}
Chamada:
Code:
package org.neo.exemplo.bean;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.SequenceGenerator;
@Entity
@SequenceGenerator(name="chamada_idchamada_seq", sequenceName="chamada_idchamada_seq")
public class Chamada {
private Long idchamada;
private Conteudo conteudo;
private Galeria galeria;
private Home home;
private Tipochamada tipochamada;
public Chamada(){
}
public Chamada(Home h, Conteudo c, Galeria g, Tipochamada t){
if (h != null)
setHome(h);
if (c != null)
setConteudo(c);
if (g != null)
setGaleria(g);
if (t != null)
setTipochamada(t);
}
@JoinColumn(name="idgaleria",nullable=true)
@ManyToOne()
public Galeria getGaleria() {
return galeria;
}
@JoinColumn(name="idconteudo",nullable=true)
@ManyToOne()
public Conteudo getConteudo() {
return conteudo;
}
@JoinColumn(name="idhome")
@ManyToOne(fetch=FetchType.LAZY)
public Home getHome() {
return home;
}
@Id
@GeneratedValue(strategy = GenerationType.AUTO, generator="chamada_idchamada_seq")
public Long getIdchamada() {
return idchamada;
}
@JoinColumn(name="idtipochamada")
@ManyToOne
public Tipochamada getTipochamada() {
return tipochamada;
}
public void setConteudo(Conteudo conteudo) {
this.conteudo = conteudo;
}
public void setHome(Home home) {
this.home = home;
}
public void setIdchamada(Long idchamada) {
this.idchamada = idchamada;
}
public void setTipochamada(Tipochamada tipochamada) {
this.tipochamada = tipochamada;
}
public void setGaleria(Galeria galeria) {
this.galeria = galeria;
}
}
vou mandar o resto no post seguinte.
|
 |
|
Vou ver a melhor forma de postar aqui então.
E só dá pau na hora de limpar os campos... tanto de galeria como de conteudo. Setar funciona.
|
 |
|
Posso mandar sim...
Só preciso do seu email... basta os .java e jsps neh?
Eu zipo e mando sim.
|
 |
|
Rogel,
Num caso desse de master detail... Eu queria ter um combo na <t:tabelaEntrada> que qnd um opção fosse selecionada apareceria o <t:detalhe> e qnd a outra fosse selecionada ele sumiria...
Tem algum modo simples para fazer isso?
abraços
|
 |
|
Não alterei nada relacionado a javascript no projeto...então assumo que devo estar usando a biblioteca padrão do neo.
Fora que nas outras telas que uso o selectonepath funciona normalmente. Acho que o erro é relacionado ao nome do campo esta no formato 'chamadas[i].conteudo'... mas n sei pq;
Eu mandei exibir o codigo fonte, mas n consegui visualizar erro no local...
segue aqui o trecho provavel onde da problema:
Code:
<input type="hidden" name="chamadas[0].tipochamada.idtipochamada" value="3" /><span id="chamadas[0].tipochamada.idtipochamada_value"></span>
</td>
<td ><a style="font-size:9pt;font-weight:bold">Blá Blá Blá:</a></td>
<td colspan='1'>
<!-- Valor selecionado org.neo.exemplo.bean.Conteudo[idconteudo=5] -->
<input type="text" name="chamadas[0].conteudo_label" onchange="" readonly="true" value="Contaminação Alimentar" />
<input type="hidden" name="chamadas[0].conteudo" value="org.neo.exemplo.bean.Conteudo[idconteudo=5,tituloChamada=Contaminação Alimentar]" />
<button id="chamadas[0].conteudo_btn" name="chamadas[0].conteudo_btn" type="button" onclick="var c = new selecionarCallbackObject(form['chamadas[0].conteudo'], form['chamadas[0].conteudo_label'], 'org.neo.exemplo.bean.Conteudo', form['chamadas[0].conteudo_btn'], form['chamadas[0].conteudo_btnUnselect']); var win = open('/neo/SELECIONARCADASTRAR/modulo/crud/Conteudo','filha77037','width=' + (window.document.body.clientWidth) + ', height=' + (window.document.body.clientHeight) + ', top=50, left=0, resizable, scrollbars'); win.selecionarCallback = c; " style='display:none'>Selecionar</button>
<button id="chamadas[0].conteudo_btnUnselect" name="chamadas[0].conteudo_btnUnselect" type="button" onclick="chamadas[0].conteudo_label.value = ''; chamadas[0].conteudo.value = '<null>'; document.getElementById('chamadas[0].conteudo_btn').style.display=''; document.getElementById('chamadas[0].conteudo_btnUnselect').style.display='none'" style=''>Limpar</button>
valeu pela ajuda.
abraços
|
 |
|
Eu tenho uma tela jsp com o codigo abaixo
jsp:
Code:
<c:forEach var="chamadas" items="${home.chamadas}" varStatus="status">
<t:property name="chamadas[${status.index}].tipochamada.idtipochamada" mode="input" type="hidden"/>
<n:panel ><a style="font-size:9pt;font-weight:bold">${chamadas.tipochamada.tipochamada }:</a></n:panel>
<c:if test="${chamadas.tipochamada.tipoPublicacao eq tipoPublicacao.conteudo}">
<t:property label="conteudo:" name="chamadas[${status.index}].conteudo" mode="input" labelStyle="font-size:9pt;font-weight:bold" selectOnePath="/modulo/crud/Conteudo"/>
</c:if>
<c:if test="${chamadas.tipochamada.tipoPublicacao eq tipoPublicacao.galeria}">
<t:property label="galeria:" name="chamadas[${status.index}].galeria" mode="input" labelStyle="font-size:9pt;font-weight:bold" selectOnePath="/modulo/crud/Galeria"/>
</c:if>
</c:forEach>
Antes eu utilizava o select normal e não tinha nenhum problema... Agora eu alterei e coloquei o selectonepath... A parte de selecionar os conteudos e galeria funciona tranquilamente, porém quando eu vou tentar limpar dá um erro de javascript ('chamadas' não está definido).
O que poderia ser isso?
abraços e obrigado pela ajuda.
|
 |
|
Consegui, fazer hoje mas estava sem net então posto a solução amanhã;
Só ficou faltando a lista aparecer vazia de inicio, qnd n tem nenhum filtro selecionado.
abraços
|
 |
|
Oi de novo.
Eu fiz uma tentativa que ficou parecido com o que eu quero, só não estou conseguindo pegar o valor do filtro.
o jsp da view:
Code:
<t:listagem showNewLink="false">
<t:janelaFiltro>
<t:tabelaFiltro showSubmit="false" columns="2">
<t:property name="lista" colspan="2"/>
<n:submit action="${TabelaFiltroTag.submitAction}" validate="${TabelaFiltroTag.validateForm}" url="${TabelaFiltroTag.submitUrl}">exibir itens</n:submit>
<n:submit action="criar">novo item</n:submit>
</t:tabelaFiltro>
</t:janelaFiltro>
<t:janelaResultados>
<t:tabelaResultados>
<t:property name="idItemLista" label="id"/>
<t:property name="titulo"/>
<t:property name="lista"/>
<t:property name="posicao"/>
</t:tabelaResultados>
</t:janelaResultados>
</t:listagem>
Como pode ver adicionei um botão novo item no filtro, assim só se pode criar um novo item com o filtro selecionado (campo required). Até ai ok.
O problema vai na hora de pegar o campo e passar para a tela de entrada (criar)
segue meu crud:
Code:
@Override
protected void entrada(WebRequestContext request, ItemLista item) throws Exception {
if (item.getIdItemLista() == null) {
System.out.println("----filtro----");
Lista filtro = (Lista) request.getAttribute("lista");
item.setLista(filtro);
}
super.entrada(request, item);
}
@Override
public ModelAndView doCriar(WebRequestContext request, ItemLista item) throws CrudException {
Lista filtro = (Lista) request.getAttribute("lista");
item.setLista(filtro);
return super.doCriar(request, item);
}
Tentei um metodo e depois o outro... Mas nenhum deles consegue pegar a lista... vem sempre null e ai não consigo passar para a outra tela.
Como poderia fazer isso?
Valeu pela ajuda e abraços;
|
 |
|