Nenhum contexto de componente na solicitação, modelo não renderizado

Problema

Você tem um componente no qual declarou seletores.

  • Não há contexto de componente na solicitação.
  • O componente é renderizado, mas o modelo não é.

Solução

JSP A é definido como script de componente (você só pode definir um) em sua definição de componente. Em seguida, você adicionou um glob para JSP B à definição do componente. Quando o componente X é incluído no modelo (no sistema de parágrafos ou com tag), o componente includer só reconhece o JSP A como o script do componente. Essa é a JSP incluída na saída do modelo JSP.

O padrão glob da definição do componente (para jsp B) é incluído na definição do modelo. Ele se comporta da mesma maneira que os globs adicionados diretamente à definição do modelo. Esse comportamento é esperado; é útil se seu componente tiver que gerar uma solicitação para outro recurso, como com imagens ou solicitações Ajax. Em tais casos, é necessário saber qual é o padrão glob quando você define o componente.

Para alcançar o comportamento esperado, é necessário que seu componente obtenha o seletor da solicitação e o baseie nesse conteúdo de renderização de uma maneira diferente. Não adicione um glob à definição do componente. Se você quiser dividi-lo em diferentes JSPs, poderá usar a tag e inserir um diferente com base em JSP no seletor.

A entrega com.day.cq. A interface DeliveryHttpServletRequest define a String pública getSelectorString () e a String pública métodos getSelectors () para trabalhar com seletores. O objeto de solicitação JSP pode ser convertido diretamente para essa interface no CQ.

Anexado abaixo está um exemplo simples. Para simplificar, este exemplo não usa um sistema de parágrafos.

Download

 Adobe

Receba ajuda com mais rapidez e facilidade

Novo usuário?

Adobe MAX 2024

Adobe MAX:
a conferência da criatividade

14 a 16 de outubro, Miami Beach e online

Adobe MAX

A conferência da criatividade

14 a 16 de outubro, Miami Beach e online

Adobe MAX 2024

Adobe MAX:
a conferência da criatividade

14 a 16 de outubro, Miami Beach e online

Adobe MAX

A conferência da criatividade

14 a 16 de outubro, Miami Beach e online