Inicializando parametros no JSP

Eu defini no meu web.xml os parametros para inicialização do servlet do jsp
so que quando eu vou recuperar ele no meu JSP ele retorna null

web.xml

<servlet>
	<servlet-name>initjsp</servlet-name>
	<jsp-file>/initJSP.jsp</jsp-file>
	<init-param>
		<param-name>nome</param-name>
		<param-value>Diego Gomes Araujo</param-value>
	</init-param>
</servlet>

initJSP.jsp

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
<%=config.getInitParameter("nome")%>
</body>
</html>

kra, oq acontece, é q vc criou um parametro de inicialização para a servlet.
estou estudando isso faz pouco tempo, mas me parece que seu arquivo web.xml esta errado.

não tenho certeza, mas para acessar essa informação em um jsp, vc deveria declarar assim.


<servlet>

</servlet>

    <context-param>
        <param-name>nome</param-name>
        <param-value>Diego Gomes Araujo</param-value>
    </context-param>

para recuperar o valor assim:

<%= getServletContext().getInitParameter("breed") %>

:smiley:

Ai que ta eu não to querendo adicionar o meu parametro como context de inicialização da aplicação.
quero que fique disponivel somente para o servlet do jsp.
e o .java gerado pelo tomcat do meu jsp contem uma variavel local
que é um objeto ServletConfig e a variavel é chmada de config.

Segundo o livro (Use a Cabeça Servlet & JSP) que eu to lendo é assim, so que não funciona.

eu to lendo esse mesmo livro, rsrs.
vou tentar aki dessa forma, qualquer coisa, posto aqui.
flw

blz!
procura na página 200
capitulo 7

eu tava chegando lá, tava na pagina 187, rsrs, vo janta agora, e vou tentar ve oq acontece, testei aqui, ta retornando null mesmo.

Parece ser uma dúvida antiga e frequente no JavaRanch . A solução é criar um mapeamento, como abaixo, e chamar a página a partir daí. Testei. Works fine!


	<servlet-mapping>
		<servlet-name>initjsp</servlet-name>
		<url-pattern>/first.do</url-pattern>
	</servlet-mapping>

A única explicação que econtrei foi essa :
http://www.coderanch.com/t/294106/JSP/How-to-initialize-jsp-init
PS: Também estou lendo HFSJ

É realmente funciono deste jeito.

valeu!

código ficou assim:

web.xml

<?xml version="1.0" encoding="ISO-8859-1"?>  
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"  
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
	xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee  
	http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"  
	version="2.4"> 

	<servlet>
		<servlet-name>initJSP</servlet-name>
		<jsp-file>/init_jsp.jsp</jsp-file>
		<init-param>
			<param-name>nome</param-name>
			<param-value>Diego</param-value>
		</init-param>
	</servlet>
	<servlet-mapping>
		<servlet-name>initJSP</servlet-name>
		<url-pattern>/init.do</url-pattern>
	</servlet-mapping>

</web-app>

jsp_init.jsp

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
Nome: <%=config.getInitParameter("nome")%>
</body>
</html>