При обновлении приложения до Jsf2.0, созданного в Spring3 и Jsf1.0 (myfaces), я столкнулся с некоторыми проблемами, упомянутыми ниже.
Я выполнил следующие шаги для обновления приложения.
Из IntelliJ IDEA:
* Open project settings/Monitor/Dependencies
* Removed facelet*jar, el*.jars, myfaces* jars from project
* Added jsf2.0.x ri mojarra jars and tomahawk1.1.9.jar
* Open project settings/monitor/web settings
* Under "modules and libs to package": remove el-.jars,facelet-jar and myfaces jars
* Added jsf2.0.x ri mojarra jars and tomahawk1.1.9.jar
* Removed erroneous class usages from our classes Lists.java and RegExValidator.java. In Lists.java, replace import with org.apache.commons.lang.LocaleUtils. In RegExValidator, replace import with "org.apache.myfaces.shared_tomahawk.util.MessageUtils".
Редактировать Web.xml:
* facelets.VIEW_MAPPINGS -> javax.faces.FACELETS_VIEW_MAPPINGS
* facelets.LIBRARIES -> javax.faces.FACELETS_LIBRARIES
* Change Faces Servlet to <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
* Change header to:
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
Редактировать лица-config.xml:
* Add header:
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd"
version="2.0">
* Remove line "<view-handler>com.sun.facelets.FaceletViewHandler</view-handler>"
После выполнения всех указанных выше шагов выдается следующая ошибка:
Для атрибута actionListener задано литеральное значение, определенное как отложенный метод с возвращаемым типом void.JSP.2.3.4 не разрешает литеральные значения в этом случае
На самом деле выражения Jsf2.0 el # {myBean.property} не получают разрешение, поэтому он показывает вышеуказанную ошибку.
Кто-нибудь может подсказать мне, чего не хватает, чтобы я мог успешно перенести приложение на Jsf2.0
Заранее спасибо, Диллон