覆盖 PrimeFaces 的 MediaRenderer
Override PrimeFaces' MediaRenderer
我试图覆盖 Primeface 的 7.0 MediaRenderer,我使用 Primeface 的 8.0 方法创建了自己的 MyMediaRenderer:
public class MyMediaRenderer extends org.primefaces.component.media.MediaRenderer {
@Override
public void encodeEnd(FacesContext context, UIComponent component) throws IOException {
...
if (value instanceof StreamedContent && PDFPlayer.MIME_TYPE.equals(player.getType())) {
...
}
...
}
}
我也加在src/main/webapp/WEB-INF/faces-config的末尾。xml :
<render-kit>
<renderer>
<component-family>org.primefaces.component.media</component-family>
<renderer-type>org.primefaces.component.media.MediaRenderer</renderer-type>
<renderer-class>redacted.MyMediaRenderer</renderer-class>
</renderer>
</render-kit>
</faces-config>
我在这里错过了什么?该方法仍然从 org.primefaces.component.media.MediaRenderer
调用
您的 renderkit 不正确,请使用以下内容:
<renderer>
<component-family>org.primefaces.component</component-family>
<renderer-type>org.primefaces.component.MediaRenderer</renderer-type>
<renderer-class>redacted.MyMediaRenderer</renderer-class>
</renderer>
我试图覆盖 Primeface 的 7.0 MediaRenderer,我使用 Primeface 的 8.0 方法创建了自己的 MyMediaRenderer:
public class MyMediaRenderer extends org.primefaces.component.media.MediaRenderer {
@Override
public void encodeEnd(FacesContext context, UIComponent component) throws IOException {
...
if (value instanceof StreamedContent && PDFPlayer.MIME_TYPE.equals(player.getType())) {
...
}
...
}
}
我也加在src/main/webapp/WEB-INF/faces-config的末尾。xml :
<render-kit>
<renderer>
<component-family>org.primefaces.component.media</component-family>
<renderer-type>org.primefaces.component.media.MediaRenderer</renderer-type>
<renderer-class>redacted.MyMediaRenderer</renderer-class>
</renderer>
</render-kit>
</faces-config>
我在这里错过了什么?该方法仍然从 org.primefaces.component.media.MediaRenderer
调用您的 renderkit 不正确,请使用以下内容:
<renderer>
<component-family>org.primefaces.component</component-family>
<renderer-type>org.primefaces.component.MediaRenderer</renderer-type>
<renderer-class>redacted.MyMediaRenderer</renderer-class>
</renderer>