Erro ao usar EL

9 respostas
A

Olá pessoal, tenho duas páginas jsp de exemplo:

index.jsp
Código:

<html>
<body>
          <form action="teste.jsp" method="POST">
                  <input type="text" name="nome" />
                  <input type="submit" />
          </form>
</body>
</html>

e um jsp que recebe o parametro:

teste.jsp
Código:

<html>
<body>
             Você digitou: ${param.nome}
</body>
</html>

porém quando eu testo o site aparece:

Você digitou: ${param.nome}

ao invéz de aparecer

Você digitou: Nome

Porque isto acontece, o que que pode dar este erro? eu segui o exemplo certinho do livro…

algum jar que devo pegar ou coisa assim.

Grato a todos.

9 Respostas

mInEiRo

vc ta usando a linha:

<%@ taglib uri=“http://java.sun.com/jstl/core” prefix=“c”%>

mInEiRo

coloca a linha no topo da pagina
<%@ taglib uri=“http://java.sun.com/jstl/core” prefix=“c”%>

e usa

<c:out value="${param.nome} ">

Pedrosa

Coloque essa linha no inicio do seu JSP:

<%@page isELIgnored="false"%>

ou no web.xml veja se inicio da tag esta assim:

[editado]

<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/web-app_2_4.xsd" 
          version="2.4">

[/editado]

para não ter que colocar em todos os jsps

A

Coloquei o esquema do web.xml, ficou assim:

<web-app id="WebApp_ID"
         version="2.4"
         xmlns="http://java.sun.com/xml/ns/j2ee"
         xmlnssi="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" >
	<servlet>
		<servlet-class>br.andrew.servlets.IonServlet</servlet-class>
		<servlet-name>Ion</servlet-name>
	</servlet>
	<servlet-mapping>
		<servlet-name>Ion</servlet-name>
		<url-pattern>*.html</url-pattern>
	</servlet-mapping>
</web-app>

mais tipo contnua naum funcionando…

agora ele da um erro de parse no XML como se alguma sintx estivesse errada:

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: XML parsing error on file /WEB-INF/web.xml: (line 5, col 112)
	org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:449)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:371)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

root cause

org.apache.jasper.JasperException: XML parsing error on file /WEB-INF/web.xml: (line 5, col 112)
	org.apache.jasper.compiler.JspConfig.processWebDotXml(JspConfig.java:185)
	org.apache.jasper.compiler.JspConfig.init(JspConfig.java:198)
	org.apache.jasper.compiler.JspConfig.findJspProperty(JspConfig.java:250)
	org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:113)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:296)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:277)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:265)
	org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:564)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:299)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

root cause

org.apache.jasper.JasperException: XML parsing error on file /WEB-INF/web.xml: (line 5, col 112)
	org.apache.jasper.xmlparser.ParserUtils.parseXMLDocument(ParserUtils.java:101)
	org.apache.jasper.compiler.JspConfig.processWebDotXml(JspConfig.java:77)
	org.apache.jasper.compiler.JspConfig.init(JspConfig.java:198)
	org.apache.jasper.compiler.JspConfig.findJspProperty(JspConfig.java:250)
	org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:113)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:296)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:277)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:265)
	org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:564)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:299)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

root cause

org.xml.sax.SAXParseException: The prefix "xsi" for attribute "xsi:schemaLocation" associated with an element type "web-app" is not bound.
	com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:236)
	com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:215)
	com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:386)
	com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:316)
	com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:279)
	com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl$NSContentDispatcher.scanRootElementHook(XMLNSDocumentScannerImpl.java:779)
	com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(XMLDocumentFragmentScannerImpl.java:1794)
	com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:368)
	com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:834)
	com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:764)
	com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:148)
	com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:250)
	com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:292)
	org.apache.jasper.xmlparser.ParserUtils.parseXMLDocument(ParserUtils.java:96)
	org.apache.jasper.compiler.JspConfig.processWebDotXml(JspConfig.java:77)
	org.apache.jasper.compiler.JspConfig.init(JspConfig.java:198)
	org.apache.jasper.compiler.JspConfig.findJspProperty(JspConfig.java:250)
	org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:113)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:296)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:277)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:265)
	org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:564)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:299)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

Alias, por que esta dando este problema de não aceitar EL?

Grato a todos.

Pedrosa

De uma olhada aqui:
http://www.guj.com.br/posts/list/37076.java

A

Consegui pessoal. valew a todos.

coloquei o seguinte:

<%@ page isELIgnored="false" %>

no começo da pagina e deu certo.

Então o servidor considera que todas as paginas JSP tem a EL ignoradas por default, eu tenho que especificar se elas aceitarão a EL.

Grato a todos.

Pedrosa

Editei a tag e passei o link tenta assim e veja se funciona sem as diretivas no início das páginas.

A

Pedrosa, valew consegui. o problema é que aqui no forum quando ele acha um xis + dois pontos ele transforma num smille tosco.

coloquei assim no meu:

<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/web-app_2_4.xsd"
         version="2.4">
        <servlet>
		<servlet-class>br.andrew.servlets.IonServlet</servlet-class>
		<servlet-name>Ion</servlet-name>
	</servlet>
	<servlet-mapping>
		<servlet-name>Ion</servlet-name>
		<url-pattern>*.html</url-pattern>
	</servlet-mapping>
</web-app>

valew a todos.

JMan

Você pode colacar isso no seu jsp para que a EL seja interpretada

<%@ page isELIgnored="false" %>

ou declarar no seu descritor da aplicação

<jsp-config>
<jsp-property-group>
<url-pattern>*.jsp</url-pattern>
<el-ignored>false</el-ignored>
</jsp-property-group>
<jsp-config>
Criado 14 de maio de 2007
Ultima resposta 14 de mai. de 2007
Respostas 9
Participantes 4