XHTML中的标记库描述符

时间:2012-10-10 10:37:57

标签: eclipse jsf autocomplete facelets

您好我正在创建一个JSF项目,但自动完成功能在eclipse中不起作用。 例如

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="en" xmlns="http://www.w3.org/1999/xhtml"
    xmlns:f="/WEB-INF/jsf_core.tld"
    xmlns:h="http://java.sun.com/jsf/html">

<h:head>
    <title>JSF 2.0 Hello World</title>
    <h:outputStylesheet library="css" name="default.css" />
</h:head>
<h:body>
    <h3>JSF 2.0 Hello World Example - hello.xhtml</h3>
    <h:form>
        <h:inputText value="#{helloBean.name}"></h:inputText>
        <h:commandButton value="Click" action="welcome"></h:commandButton>
    </h:form>
       </h:body>
</html>

tlds由链接的男性导入。 当我按下ctrl + space afiter f:它没有显示可用的命令。 所以我试图将实际文件放在WEB-INF文件夹中,并将其导入文件中。它还没有用。

<html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:f="/WEB-INF/jsf_core.tld"
    xmlns:h="/WEB-INF/jsf_core.tld">

anybodt可以帮助解决这个问题。

1 个答案:

答案 0 :(得分:1)

首先,您应该绝对不从JAR中提取松散的TLD文件并将其转储到您的webapp中。这是便携性问题的秘诀。删除它们并撤消与此相关的所有其他内容。您应该只拥有这些XML命名空间:

xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:ui="http://java.sun.com/jsf/facelets"

关于自动完成在Eclipse中不起作用的具体问题;该行为取决于所使用的Eclipse版本和项目配置。您需要至少拥有Eclipse Indigo SR1才能拥有适当的内置JSF 2.0 Facelets自动完成支持。此外,项目需要创建为启用JSF 2.0 Facet的动态Web项目

替代方案正在整合Glassfish Eclipse pluginJBoss Tools Eclipse plugin。特别是JBoss Tools插件提供了很多其他很棒的功能,例如EL表达式自动完成和Ctrl + Click导航。