从facelets 1.1迁移到faclets 2.0 - FaceletViewHandler

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从facelets 1.1迁移到faclets 2.0 - FaceletViewHandler相关的知识,希望对你有一定的参考价值。

我已经阅读了以下帖子,这对Migrating from JSF 1.2 to JSF 2.0非常有帮助

但是我遇到了迁移的问题,因为我有一个从FaceletViewHandler扩展的自定义视图处理程序 - 这不是faclets 2的一部分。

我正在迁移JBoss 4.2.2以下内容: - JSF 1.2到JSF 2.0

我也想迁移这些小子 - 我有上述问题。

在我的应用程序中,我也在使用Tomahawk - 这次迁移有什么问题吗?

提前致谢。

ELICO。

答案

是的,你需要用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;
    }

    // ...
}

我已相应更新了有关迁移问题的答案。

另一答案

要激活MyViewHandler,例如对于JEE7,WEB-INF / faces-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>

以上是关于从facelets 1.1迁移到faclets 2.0 - FaceletViewHandler的主要内容,如果未能解决你的问题,请参考以下文章

如何从 SEO 的角度从 HTTP/1.1 迁移到 HTTP/2? [关闭]

将 jsf 1.2 迁移到 2.0 时出错

从 ASP.NET Core 1.1 MVC 迁移到 2.0 后,自定义 cookie 身份验证不起作用

使用 System.IdentityModel.Tokens.Jwt 从 1.1 迁移到 2.0 后,JWTAuthentication 在 asp.net core 2.0 中不起作用 - 5.1.

我应该使用带有 render 属性的 ui:fragment 来有条件地在带有 JSF 2.2 的 Facelets 中呈现 HTML 标记吗?

Lifecycle of JSF and Facelets(第6周)