2012-10-10 124 views
1

嗨,我正在創建一個JSF項目,但autocompletion不在eclipse中工作。 例如XHTML中的標記庫描述符

<?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

首先,你應該絕對不是從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 +單擊導航。