Миграция с facelets 1.1 на faclets 2.0 - FaceletViewHandler - PullRequest
7 голосов
/ 25 июля 2011

Я прочитал следующий пост, который был очень полезен Миграция с JSF 1.2 на JSF 2.0

, но у меня возникла проблема с миграцией, поскольку у меня есть обработчик пользовательского представления, который расширяетсяиз FaceletViewHandler - это не входит в фаллеты 2.

Я мигрирую на JBoss 4.2.2 следующее: - JSF 1.2 на JSF 2.0

Я также хочу перенести фолеты - что яУ меня есть проблема, описанная выше.

В моем приложении я также использую томагавк - есть ли проблемы с этой миграцией?

Заранее спасибо.

Elico.

Ответы [ 2 ]

7 голосов
/ 25 июля 2011

Да, вам нужно заменить FaceletViewHandler на ViewHandlerWrapper.

Итак, следующая базовая FaceletViewHandler реализация:

import javax.faces.application.ViewHandler;
import com.sun.facelets.FaceletViewHandler;

public class MyViewHandler extends FaceletViewHandler {

    public MyViewHandler(ViewHandler parent) {
        super(parent);
    }

    // ...
}

необходимо обновить следующим образом:

import javax.faces.application.ViewHandler;
import javax.faces.application.ViewHandlerWrapper;

public class MyViewHandler extends ViewHandlerWrapper {

    private ViewHandler wrapped;

    public MyViewHandler(ViewHandler wrapped) {
        this.wrapped = wrapped;
    }

    @Override
    public ViewHandler getWrapped() {
        return wrapped;
    }

    // ...
}

Я обновил свой ответ на вопрос о миграции соответственно.

0 голосов
/ 28 декабря 2017

Для активации MyViewHandler , например, для JEE7, WEB-INF /face-config.xml должен быть определен следующим образом:

<?xml version="1.0"?>
<faces-config version="2.2" xmlns="http://xmlns.jcp.org/xml/ns/javaee"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
        xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee 
          http://xmlns.jcp.org/xml/ns/javaee/web-facesconfig_2_2.xsd">
    <application>
        <view-handler>pkg.MyViewHandler</view-handler>
    </application>
</faces-config>
...