Pergunta

Eu tenho algum conteúdo HTML estático (incluído em uma página gerada dinamicamente) que deseja localizar, ou seja, ajuda-en.html, ajuda-fr.html e assim por diante. No arquivo JSP onde é para ser incluído Eu tenho um UserLocale feijão que é uma string contendo "en", "fr" e assim por diante.

Assim, uma maneira razoável de se referir ao arquivo localizada seria:

help-${userLocale}.html

E uma forma razoável para incluí-lo na JSP seria:

<%@include file="help-${userLocale}.html" %>

No entanto, isso não funciona, como o compilador JSP reclama que não pode arquivar o arquivo literalmente chamado "ajuda - $ {UserLocale} .html". Assim, parece que a página directivas são processados ??antes do código EL, e como tal não é possível a utilização de EL dentro diretivas de página.

Isso é correto, existem soluções alternativas e / ou há alguma maneira semelhante simples para alcançar o objetivo descrito acima, sem recorrer a múltiplos escolher / quando tags ou outros enfeites?

Foi útil?

Solução

Use jsp:include vez. O @include é compiletime, não tempo de execução.

por exemplo:.

<jsp:include page="help-${userLocale}.html" />
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top