相关疑难解决方法(0)

JSF 2:没有为错误页面呈现Facelets组合(模板)

我在Java EE 6应用程序服务器(GlassFish v3)中使用带有Facelets的JSF 2.0.我在web.xml中为异常配置了一个错误页面:

<error-page>
    <exception-type>java.lang.Throwable</exception-type>
    <location>/error-all.xhtml</location>
</error-page>
Run Code Online (Sandbox Code Playgroud)

这是/error-all.xhtml测试页面:

<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
                xmlns:ui="http://java.sun.com/jsf/facelets"
                xmlns:f="http://java.sun.com/jsf/core"
                xmlns:h="http://java.sun.com/jsf/html"
                template="/resources/templates/decorator.xhtml">

    <ui:define name="title">Title</ui:define>

    <ui:define name="body">
        <h1>Body</h1>
    </ui:define>
</ui:composition>
Run Code Online (Sandbox Code Playgroud)

我实现了一个托管bean,当我点击我的一个commandLinks时,它会故意抛出RuntimeException.当发生这种情况时,会显示/error-all.xhtml页面的内容,但它不会通过Facelets获取进程,因此不会应用template ="/ resources/templates/decorator.xhtml".

使用谷歌浏览器,我只看到"标题"和"正文",结果没有布局.如果我要求Chrome检查这些元素,我会得到完整的源代码,其中包括ui:compositionui:define标记,Chrome显然无法理解.这证实了我的理论,即Facelets页面没有被处理.

所以,我的问题是,如何解决这个问题?如何处理错误页面并返回HTML代码,该代码是模板与错误页面内容组合的结果?

java jsf facelets jsf-2

1
推荐指数
1
解决办法
5465
查看次数

JSF h标签没有显示

使用Netbeans在Glassfish 3.1.2.2上部署Web应用程序,并且我的h标签都不会显示在Web上.例如:

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html">
    <head>
        <title>Draft Savvy Beers</title>
    </head>
    <h:form>
        <h:body>
            <h1>Search for beers</h1>
            <p><strong>Would you like to search for a beer?</strong>
                <h:inputText value="#{draftSavvyController.searchTerm}" />
                <h:commandButton value="#{draftSavvyController.searchforBeers}" /></p>
        </h:body>
    </h:form>
</html>
Run Code Online (Sandbox Code Playgroud)

仅显示文本,不显示输入字段或按钮.使用普通的旧HTML显然会显示字段和按钮,但我无法以这种方式访问​​我的控制器.这是我的web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" 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-app_3_0.xsd">
    <context-param>
        <param-name>javax.faces.PROJECT_STAGE</param-name>
        <param-value>Development</param-value>
    </context-param>
    <context-param>
    <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
    <param-value>.xhtml</param-value>
    </context-param>
    <servlet>
        <servlet-name>Faces Servlet</servlet-name>
        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>/faces/*</url-pattern>
    </servlet-mapping>
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
    <welcome-file-list>
        <welcome-file>login.xhtml</welcome-file>
    </welcome-file-list>
</web-app>
Run Code Online (Sandbox Code Playgroud)

如果我能提供更多信息,请告诉我.我很陌生......

jsf facelets

1
推荐指数
1
解决办法
5367
查看次数

为什么我的jsf标签不起作用?

在Eclipse JUNO中,我开始:

  1. 新的动态Web项目
  2. 名称:JSFTest;配置:JavaServer Faces v2.0项目
  3. JSF功能: 在此处输入图片说明
  4. 将jar复制到WEB-INF / lib(jstl-api,jstl-impl,jsf-api,jsf-impl):

    在此处输入图片说明

  5. WebContent的新HTML:带有“ New Facelet Composition Page”的index.xhtml,以及其中的代码:

    在此处输入图片说明

  6. 在web.xml中,我将index.xhtml写入welcome部分

  7. 当我在apache tomcat 7服务器上运行它时,结果(不必理会h1标题):

    在此处输入图片说明

那么为什么它不显示出文本和按钮呢?我怎么了 我在youtube上看到了很多视频,我一直跟随着他们,在视频有效的过程中,但对我来说却如此。

jsf jsf-2

0
推荐指数
1
解决办法
2305
查看次数

JSF标签未执行

我刚刚开始使用JSF并尝试一些示例实现.我得到了以下Bean,web.xml和index.xhtml文件:

HelloBean.java:

package jsflearning;

import javax.inject.Named;
import javax.enterprise.context.*;

@Named(value= "myHelloBean")
@RequestScoped
public class HelloBean {
    private String name = "dear reader";

    public void setName(String name) {
        this.name = name;
    }

    public String getName() {
        return this.name;
    }
}
Run Code Online (Sandbox Code Playgroud)

web.xml中:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.1"
         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-app_3_1.xsd">

    <display-name>JSFLearning</display-name>
    <context-param>
        <param-name>javax.faces.PROJECT_STAGE</param-name>
        <param-value>Development</param-value>
    </context-param>
    <context-param>
    <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
    <param-value>.xhtml</param-value>
    </context-param>
    <servlet>
        <servlet-name>Faces Servlet</servlet-name>
        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>*.xhtml</url-pattern>
    </servlet-mapping>
</web-app>
Run Code Online (Sandbox Code Playgroud)

的index.xhtml:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 …
Run Code Online (Sandbox Code Playgroud)

jsf

0
推荐指数
1
解决办法
400
查看次数

标签 统计

jsf ×4

facelets ×2

jsf-2 ×2

java ×1