如何在Eclipse Juno(而不是jsp)中使用facelets?

时间:2013-02-06 11:56:21

标签: java eclipse jsp jsf

我正在使用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&lt;%@标签。在创建第二个文件时,我选择了JSF xhtml或其他东西。有人知道问题可能是什么吗?

1 个答案:

答案 0 :(得分:2)

只需将物理视图文件的扩展名从some.jsp重命名为some.xhtml即可。您无需更改最初使用的URL中的扩展名。如果您按/some.jsf打开它,则应该按/some.jsf打开它。

请注意,我假设您使用的是JSF2而不是旧版JSF 1.x. Facef是JSF 1.x本身不支持的。另请注意,Facelets并非“只是一种更好的做法”,您必须在JSF2中使用它,因为不推荐使用JSP。

另见: