Jsp:include, recebimento via jsp:param

7 respostas
gRoOve

Boa noite, estou tentando entender como funciona o include de arquivos dinâmicos via ação padrão, mas não consigo entender de onde vem a “variável”. Vou mostrar o que eu já fiz:

index.jsp

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    </head>
    <body>
		<jsp:include page="header.jsp" />
    </body>
</html>

header.jsp

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    </head>
    <body>
        <h1>Exemplo de HEADER!!</h1>
		<strong>${param.subTitulo}</strong>
    </body>
</html>

form.jsp

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        <form action="header.jsp" method="get">
			Subtitulo: <input type="text" name="subTitulo">
			<input type="submit">
		</form>
    </body>
</html>

Minha dúvida: esse param.subTitulo vem somente de um formulário? É um java beans? Um atributo de qual escopo? O que é este param?
Eu consegui submeter um valor para este param via formulário, mas quando acesso o index.jsp não aparece nada, somente na página header.jsp

7 Respostas

drsmachado

Camarada, você está confundindo as coisas.
Isso é JavaServer Pages Standard Tag Library, vulgarmente conhecida como JSTL.

Aqui http://www.oracle.com/technetwork/java/index-jsp-135995.html você encontra mais informações

gRoOve

Desculpe o equivoco, é que eu pulei a parte do livro que ensina a fazer include dinâmico usando ação padrão, ai quando cheguei nesta parte no JSTL não consegui fazer, dai voltei :slight_smile:
Já corrigi o código.

Eu quero colocar um conteúdo dentro do param.subTitulo de modo que ele seja padrão pra todas as paǵinas, mas como faço isso? Pq dai nas páginas que eu for incluir o header.jsp se for o caso eu altero o valor do param.subTitulo usando o jsp:param…

drsmachado

Sem problemas, camarada.
Este é o perigo de pular partes de um livro de programação…
Coisas importantes como conceitos ou recursos da linguagem podem ficar para trás.

gRoOve

Mas neste caso vai dar na mesma fazer com ação padrão ou jstl, o que eu quero sber é outra coisa…

gRoOve

Alguém consegue explicar?

drsmachado
<!--index.jsp-->
<html>   
    <head>   
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">   
    </head>   
    <body>   
        <jsp:include page="header.jsp" />   
    </body>   
</html>
<!--header.jsp-->
<html>   
    <head>   
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">   
    </head>   
    <body>   
        <h1>Exemplo de HEADER!!</h1>   
        <strong>${param.subTitulo}</strong>   
    </body>
</html>

= (ou praticamente isso)

<!--index+header.jsp-->
<html>   
    <head>   
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">   
    </head>   
    <body>   
        <h1>Exemplo de HEADER!!</h1>   
        <strong>${param.subTitulo}</strong>
    </body>   
</html>
<!--form.jsp-->
<html>   
    <head>   
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">   
        <title>JSP Page</title>   
    </head>   
    <body>   
	<!--Esse objeto capturado pelo JSTL em param.subTitulo vem daqui-->
        <form action="header.jsp" method="get">   
            Subtitulo: <input type="text" name="subTitulo">   
            <input type="submit">   
        </form>   
    </body>   
</html>
gRoOve

Obrigado pela reposta drsmachado, agora consegui me achar aqui :slight_smile:
Tem como eu deixar um valor padrão para o “param.Subtitulo” ? Assim: se o form não for submetido, permanece o valor padrão para todas as páginas ou nesse caso sempre será necessário submeter algo?

Criado 12 de outubro de 2011
Ultima resposta 15 de out. de 2011
Respostas 7
Participantes 2