Problemas com form html em paginas jsp

6 respostas
erasmo_tec

Senhores bom dia

estou com dificuldade de entender porque quando se coloca um form dentro de uma pagina jsp com jsf dá o seguinte erro
javax.faces.FacesException: Nested form found on the page. The form action element can not be nested
minha pagina está assim:
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
<%@taglib prefix="h" uri="http://java.sun.com/jsf/html"%>
<%@taglib prefix="ice" uri="http://www.icesoft.com/icefaces/component"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        <f:view>
                          
        
        
        <form action="relatorio" method="POST">
            Selecionar relatorio:<br>
            <select name="opcRelatorio" >
                <option>Dados Devolucao</option>
                <option>Dados Cliente</option>
                <option>Dados Avalista</option>
                <option>Dados Operacao</option>
            </select> 
            <input type="submit" value="Enviar"/>
        </form>
        </f:view>
    </body>
</html>

não consegui ainda integrar essa parte do programa com jsf pois a unica maneira que consegui para abrir meus relatórios em pdf foi atráves de uma servlet e não sei como colocar meu método de gerar o relatório na servlet em um método para o jsf onde a pagina consiga visualiza-lo para execução.

6 Respostas

arthurminarini

tive um problema semelhante e eu achei isso que me ajudou a muito tempo atras

nota, que é não é icefaces uma mailing list.
However, the error is pretty clear: "Nested form found on the page. No entanto, o erro é bastante clara: “Nested formulário encontrado na página.
The form action element can not be nested”. O formulário de acção elemento não pode ser aninhadas ".
That is basically invalid html, to model something like: Isso é basicamente inválido html, modelo para algo como:

... ... ... ... ... ... ... ... ... ...

veja se te da uma luz

erasmo_tec

não entendi o que você quis dizer.

erasmo_tec

este é o erro completo se alguém já passou por isso, sabe o porque isso ocorre

javax.faces.FacesException: Nested form found on the page. The form action element can not be nested
	com.icesoft.faces.renderkit.dom_html_basic.FormRenderer.validateNestingForm(FormRenderer.java:362)
	com.icesoft.faces.renderkit.dom_html_basic.FormRenderer.encodeBegin(FormRenderer.java:79)
	com.icesoft.faces.component.ext.renderkit.FormRenderer.encodeBegin(FormRenderer.java:53)
	javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:788)
	com.icesoft.faces.application.D2DViewHandler.renderResponse(D2DViewHandler.java:547)
	com.icesoft.faces.application.D2DViewHandler.renderResponse(D2DViewHandler.java:554)
	com.icesoft.faces.application.D2DViewHandler.renderResponse(D2DViewHandler.java:554)
	com.icesoft.faces.application.D2DViewHandler.renderResponse(D2DViewHandler.java:554)
	com.icesoft.faces.application.D2DViewHandler.renderResponse(D2DViewHandler.java:554)
	com.icesoft.faces.application.D2DViewHandler.renderResponse(D2DViewHandler.java:554)
	com.icesoft.faces.application.D2DViewHandler.renderResponse(D2DViewHandler.java:524)
	com.icesoft.faces.application.D2DViewHandler.renderView(D2DViewHandler.java:161)
	com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:106)
	com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
	com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)
	com.icesoft.faces.webapp.http.core.JsfLifecycleExecutor.apply(JsfLifecycleExecutor.java:18)
	com.icesoft.faces.webapp.http.core.PageServer$1.respond(PageServer.java:25)
	com.icesoft.faces.webapp.http.servlet.ServletRequestResponse.respondWith(ServletRequestResponse.java:161)
	com.icesoft.faces.webapp.http.servlet.ThreadBlockingAdaptingServlet$ThreadBlockingRequestResponse.respondWith(ThreadBlockingAdaptingServlet.java:36)
	com.icesoft.faces.webapp.http.core.PageServer.service(PageServer.java:30)
	com.icesoft.faces.webapp.http.core.SingleViewServer.service(SingleViewServer.java:48)
	com.icesoft.faces.webapp.http.common.standard.PathDispatcherServer$Matcher.serviceOnMatch(PathDispatcherServer.java:50)
	com.icesoft.faces.webapp.http.common.standard.PathDispatcherServer.service(PathDispatcherServer.java:19)
	com.icesoft.faces.webapp.http.servlet.ThreadBlockingAdaptingServlet.service(ThreadBlockingAdaptingServlet.java:19)
	com.icesoft.faces.webapp.http.servlet.EnvironmentAdaptingServlet.service(EnvironmentAdaptingServlet.java:63)
	com.icesoft.faces.webapp.http.servlet.MainSessionBoundServlet.service(MainSessionBoundServlet.java:139)
	com.icesoft.faces.webapp.http.servlet.SessionDispatcher.service(SessionDispatcher.java:53)
	com.icesoft.faces.webapp.http.servlet.PathDispatcher$Matcher.serviceOnMatch(PathDispatcher.java:52)
	com.icesoft.faces.webapp.http.servlet.PathDispatcher.service(PathDispatcher.java:29)
	com.icesoft.faces.webapp.http.servlet.MainServlet.service(MainServlet.java:82)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
erasmo_tec

alguém sabe porque não consigo colocar um form basico do html em uma pagina jsp que utiliza jsf

mario.fts

pelo erro, parece que vc tem um form dentro de outro form.

Exemplo:

BLABLABLA.. ...

Vc não pode fazer isso. Olando o JSP que vc postou, não exite isso, mas pode acontecer se vc incluir esta página dentro de outra.

erasmo_tec

não estou chamando essa pagina dentro de outra.

Criado 5 de março de 2009
Ultima resposta 6 de mar. de 2009
Respostas 6
Participantes 3