Я начинаю работать в ICEFACES, пытаясь запустить мой первый экран ICEFACES с помощью некоторых компонентов ICEFACES. Для начала. Я использую ICEFACES 1.8.2.javax.servlet.ServletException: ICEfaces требует PersistentFacesServlet
я скопировал содержание моего web.xml по этой ссылке:
http://res.icesoft.org/docs/v1_8_2/htmlguide/gettingstarted/SessionRendererTutorial11.html#1054095
Ниже файл лица-config.xml:
<faces-config
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd"
version="1.2">
<application>
<view-handler>
com.icesoft.faces.facelets.D2DFaceletViewHandler
</view-handler>
</application>
</faces-config>
Ниже test.jsp содержание на экране:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<%@ 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=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<f:view>
<ice:outputText id="txtHello" value="Hello ICEFaces"></ice:outputText> <br>
<ice:panelGroup title="Hello"></ice:panelGroup>
</f:view>
</body>
</html>
Когда я запустить приложение, используя приведенный ниже URL:
http://localhost:8046/TestMojarra/faces/Test.jsp
Я получаю исключение:
javax.servlet.ServletException: ICEfaces requires the PersistentFacesServlet. Please check your web.xml servlet mappings javax.faces.webapp.FacesServlet.service(FacesServlet.java:277)
java.lang.IllegalStateException: ICEfaces requires the PersistentFacesServlet. Please check your web.xml servlet mappings com.icesoft.faces.context.DOMResponseWriter.<init>(DOMResponseWriter.java:154) com.icesoft.faces.context.DOMContext.createTemporaryDOMResponseWriter(DOMContext.java:182) com.icesoft.faces.context.DOMContext.getDOMContext(DOMContext.java:228) com.icesoft.faces.renderkit.dom_html_basic.GroupRenderer.encodeChildren(GroupRenderer.java:89) javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:840) javax.faces.component.UIComponent.encodeAll(UIComponent.java:930) javax.faces.component.UIComponent.encodeAll(UIComponent.java:933) com.sun.faces.application.ViewHandlerImpl.doRenderView(ViewHandlerImpl.java:266) com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:197) com.icesoft.faces.application.D2DViewHandler.renderView(D2DViewHandler.java:151) com.icesoft.faces.application.D2DViewHandler.renderView(D2DViewHandler.java:151) com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:110) 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)
Но если я закомментируйте <ice:panelGroup>
линию от над файлом jsp отображается экран.
Пожалуйста, дайте мне знать, где проблема.
0 похоже на то, что вы не используете PersistentFacesServlet, как указано в начале этого урока. Можете ли вы опубликовать свой web.xml? – EdH
Хм, глядя на web.xml, файлы jsp не будут подхвачены PersistentFacesContext. Попробуйте переименовать файл в .jspx – EdH
Спасибо за ответ. Если я переименую его в '.jspx', то получаю это исключение:' java.lang.Exception: javax.faces.FacesException: проблема в renderResponse: /Test.xhtml не найдена в ExternalContext как ресурс. Не уверен, откуда эта xhtml часть comming :( – user182944