2

我正在使用 eclipse juno,我正在尝试建立一个网站。我正在构建用户界面,我想使用 JSF。以下代码运行,当我运行文件时,信息会正确显示在屏幕上。

<%@ taglib prefix="f"  uri="http://java.sun.com/jsf/core"%>
<%@ taglib prefix="h"  uri="http://java.sun.com/jsf/html"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

 <link rel="stylesheet" type="text/css" href="Stylesheets/flashcard.css" />

<title>Insert title here</title>
</head>
<body>
<f:view>
        <h:form>
        <h:commandButton value="Click"></h:commandButton>

        </h:form>
</f:view>

但是我读过这样写代码是更好的做法。此代码仅显示一个空白页。

<html xmlns="http://www.w3.org/1999/xhtml" 
xmlns:f="http://java.sun.com/jsf/core" 
xmlns:h="http://java.sun.com/jsf/html">
      <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

         <link rel="stylesheet" type="text/css" href="Stylesheets/flashcard.css" />

        <title>Insert title here</title>
        </head>
        <body>
        <f:view>
                <h:form>
                <h:commandButton value="Click"></h:commandButton>

                </h:form>
        </f:view>
    </body>
    </html>

区别是微妙的,但在第二个文件中,如果有意义的话,我不使用 jsp <%@ 标记。创建第二个文件时,我选择了 JSF xhtml 之类的。有谁知道问题可能是什么?

4

1 回答 1

2

只需将物理视图文件的扩展名从 重命名some.jspsome.xhtml. 您无需更改最初使用的 URL 中的扩展名。如果您打开它/some.jsf,那么您应该继续打开它/some.jsf

请注意,我假设您使用的是 JSF2 而不是旧版 JSF 1.x。JSF 1.x 本身并不支持 Facelets。另请注意,Facelets 不仅仅是“一种更好的实践”,您必须在 JSF2 中使用它,因为 JSP 已被弃用。

也可以看看:

于 2013-02-06T12:53:04.017 回答