У меня есть приложение, которое использует Jsf 1.2, Richfaces 3.3.3 и многие другие плагины. Я хотел обновить это приложение до более высоких версий Jsf 2.2.1 и Richfaces 4.3.3. Что я сделал, я создал приложение с нуля и установил все зависимости и настройки для более новых версий плагинов. Я хочу обновить страницу приложения за страницей, так как Richfaces 4.x отличается от 3.x. В старом приложении все компоненты A4j, такие как commandLink и commandButton, работают правильно в бэкэнде; однако эти компоненты не разрешены для новых версий. Следующие объяснения не могут быть решены:Компоненты A4j не работают в фоновом режиме
import org.ajax4jsf.component.html.HtmlAjaxCommandButton;
import org.ajax4jsf.component.html.HtmlAjaxCommandLink;
Вот зависимости:
<dependency>
<groupId>com.sun.faces</groupId>
<artifactId>jsf-api</artifactId>
<version>2.2.1</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.sun.faces</groupId>
<artifactId>jsf-impl</artifactId>
<version>2.2.1</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
</dependency>
<dependency>
<groupId>org.richfaces.core</groupId>
<artifactId>richfaces-core-api</artifactId>
<version>4.3.3.Final</version>
</dependency>
<dependency>
<groupId>org.richfaces.core</groupId>
<artifactId>richfaces-core-impl</artifactId>
<version>4.3.3.Final</version>
</dependency>
<dependency>
<groupId>org.richfaces.ui</groupId>
<artifactId>richfaces-components-ui</artifactId>
<version>4.3.3.Final</version>
</dependency>
<dependency>
<groupId>org.richfaces.ui</groupId>
<artifactId>richfaces-components-api</artifactId>
<version>4.3.3.Final</version>
</dependency>
и web.xml:
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.xhtml</url-pattern>
</servlet-mapping>
<context-param>
<param-name>javax.faces.PROJECT_STAGE</param-name>
<param-value>Development</param-value>
</context-param>
<context-param>
<param-name>org.ajax4jsf.VIEW_HANDLERS</param-name>
<param-value>com.sun.facelets.FaceletViewHandler</param-value>
</context-param>
<context-param>
<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
<param-value>server</param-value>
</context-param>
<context-param>
<param-name>facelets.REFRESH_PERIOD</param-name>
<param-value>2</param-value>
</context-param>
<context-param>
<param-name>com.sun.faces.validateXml</param-name>
<param-value>true</param-value>
</context-param>
<context-param>
<param-name>com.sun.faces.verifyObjects</param-name>
<param-value>true</param-value>
</context-param>
<context-param>
<param-name>javax.faces.DATETIMECONVERTER_DEFAULT_TIMEZONE_IS_SYSTEM_TIMEZONE</param-name>
<param-value>true</param-value>
</context-param>
Спасибо большое за ответ. В моем старом приложении я использовал компонент «rich: comboBox», который был в пакете «org.richfaces.component.html.HtmlComboBox», но теперь я не смог найти какой-либо компонент в качестве comboBox. Изменен ли этот компонент на другое имя? – nudastack
Теперь это 'rich: suggestionBox', посмотрите на эту [миграцию] (https://community.jboss.org/wiki/RichFacesMigrationGuide33x-4xMigration) (1) [guide] (https://community.jboss.org/wiki/RichFaces33-4xMigrationGuideUnleashed) (2) для получения дополнительной информации. – Makhiel
Okey, спасибо. – nudastack