2012-04-03 4 views
2

Я хочу использовать компонент h: link в моем файле xhtml, но Idea, похоже, не находит его. Я получаю не могу разрешить ошибку символа. Но он находит некоторые другие стандартные компоненты.Поддержка JSF 2 в IntelliJ Idea 11

У меня есть заголовок в верхней части файла.

<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="/WEB-INF/templates/default.xhtml"> 

Проект, над которым я работаю, является проектом типа JavaEE6/JBoss7. Он был импортирован из архетипа Maven. Тип упаковки - EAR. Я включил поддержку JSF, и Idea загрузила 3 ​​JSF-банки и разместила их в каталоге lib в корневом каталоге проекта (не в веб-модуле, как я ожидал).

Кто-нибудь знает, что мне нужно сделать, чтобы оно работало?

+0

Прежде всего, чтобы исключить одно и другое: что, если вы проигнорируете ошибку IDE и запустите webapp? Получает ли '' анализ на полноценный '' или нет? – BalusC

+0

Я пытался запустить приложение в любом случае, но вместо тег я получаю элемент span. –

ответ

2

Я решил проблему, добавив jsf jars в p.m.xml Maven.

В моем случае (обратите внимание, что я бег это на JBoss7 AS и эти банки уже находятся на сервере)

<!-- Import the JSF API, we use provided scope as the API is included 
    in JBoss AS 7 --> 
    <dependency> 
     <groupId>org.jboss.spec.javax.faces</groupId> 
     <artifactId>jboss-jsf-api_2.0_spec</artifactId> 
     <version>1.0.0.Final</version> 
     <scope>provided</scope> 
    </dependency> 

    <dependency> 
     <groupId>com.sun.faces</groupId> 
     <artifactId>jsf-api</artifactId> 
     <version>2.1.7</version> 
     <scope>provided</scope> 
    </dependency> 
    <dependency> 
     <groupId>com.sun.faces</groupId> 
     <artifactId>jsf-impl</artifactId> 
     <version>2.1.7</version> 
     <scope>provided</scope> 
    </dependency> 

Надеется, что это помогает.

Смежные вопросы