Erro Pagina JSf 2.0 ....view ID .jsp/usuario.jsp. The ID must begin with /

2 respostas
P

Olá,

peguei um exemplo na internet da página abaixo
mais ao rodar esse exemplo me apresenta o erro abaixo conforme chamada pela url

http://localhost:8080/ProjetoJSF2/jsp/usuario.jsf

Alguém já passou por isso e poderia me ajudar.

abs

HTTP Status 500 - 

--------------------------------------------------------------------------------

type Exception report

message 

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

exception 

javax.servlet.ServletException: Illegal view ID .jsp/usuario.jsp.  The ID must begin with /
	javax.faces.webapp.FacesServlet.service(FacesServlet.java:277)
	org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:154)
	org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:260)
	org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:366)
	org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:493)


root cause 

java.lang.IllegalArgumentException: Illegal view ID .jsp/usuario.jsp.  The ID must begin with /
	com.sun.faces.application.ViewHandlerImpl.getActionURL(ViewHandlerImpl.java:660)
	org.ajax4jsf.application.ViewHandlerWrapper.getActionURL(ViewHandlerWrapper.java:92)
	com.sun.facelets.FaceletViewHandler.getActionURL(FaceletViewHandler.java:781)
	com.sun.facelets.FaceletViewHandler.handleFaceletNotFound(FaceletViewHandler.java:686)
	com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:637)
	org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:108)
	org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:189)
	com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:109)
	com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
	com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
	javax.faces.webapp.FacesServlet.service(FacesServlet.java:266)
	org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:154)
	org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:260)
	org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:366)
	org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:493)


note The full stack trace of the root cause is available in the Apache Tomcat/7.0.4 logs.

usuario.jsp

<ui:composition xmlns="http://www.w3.org/1999/xhtml"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:a4j="http://richfaces.org/a4j"
    xmlns:rich="http://richfaces.org/rich">

    <h:form id="ajaxValidatorForm">
        <rich:panel>
            <f:facet name="header">
                <h:outputText value="User Info:" />
            </f:facet>
            <h:panelGrid columns="3">
                
                <h:outputText value="Name:" />
                <h:inputText value="#{userBean.name}" id="name" required="true">
                    <f:validateLength minimum="3" maximum="12"/>
                    <rich:ajaxValidator event="onblur"/>
                </h:inputText>
                <rich:message for="name" />
                
                <h:outputText value="Age:" />
                <h:inputText value="#{userBean.age}" id="age" required="true">
                    <f:convertNumber integerOnly="true"/>
                    <f:validateLongRange minimum="18" maximum="99"/>
                    <rich:ajaxValidator event="onblur"/>
                </h:inputText>
                <rich:message for="age"/>
                
            </h:panelGrid>
        </rich:panel>
    </h:form>
</ui:composition>
<application>
  <view-handler>com.sun.facelets.FaceletViewHandler</view-handler>
 </application>
 
 	<managed-bean>
		<managed-bean-name>userBean</managed-bean-name>
		<managed-bean-class>
			 br.com.teste.classes.UserBean
		</managed-bean-class>
		<managed-bean-scope>session</managed-bean-scope>
	</managed-bean>
 

</faces-config>
public class UserBean {

	private String name;
	private String age;
	
	public UserBean(){
		
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getAge() {
		return age;
	}
	public void setAge(String age) {
		this.age = age;
	}
	
	
}

2 Respostas

P

Olá,

alterei a classe o atributo age alterei para Integer e agora está me dando o erro abaixo.

O que pode ser esse erro ???

HTTP Status 500 - 

--------------------------------------------------------------------------------

type Exception report

message 

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

exception 

org.apache.jasper.JasperException: /jsp/usuario.jsp(16,38) #{...} is not allowed in template text
	org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)
	org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
	org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:102)
	org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:728)
	org.apache.jasper.compiler.Node$ELExpression.accept(Node.java:954)
	org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)
	org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2428)
	org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2434)
	org.apache.jasper.compiler.Node$Root.accept(Node.java:475)
	org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)
	org.apache.jasper.compiler.Validator.validateExDirectives(Validator.java:1789)
	org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:216)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:365)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:345)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:332)
	org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:594)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:327)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:363)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:306)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:722)


note The full stack trace of the root cause is available in the Apache Tomcat/7.0.4 logs.


--------------------------------------------------------------------------------

Apache Tomcat/7.0.4
surfzera

sim… como você está trabalhando com jsf 2.0 a extensão do arquivo usuario deve ser .jsf ou .xhtml e não .jsp tenta ai, verifica também se no web.xml se a página de entrando welcome está apontando para o index.jsf.

Abraço

Criado 12 de novembro de 2010
Ultima resposta 12 de nov. de 2010
Respostas 2
Participantes 2