JSF

This page (revision-8) was last changed on 19-Sep-2018 13:22 by Dieter Käppel

This page was created on 22-Oct-2010 13:36 by Dieter Käppel

Only authorized users are allowed to rename pages.

Only authorized users are allowed to delete pages.

Page revision history

Version Date Modified Size Author Changes ... Change note
8 19-Sep-2018 13:22 8 KB Dieter Käppel to previous
7 19-Sep-2018 13:22 8 KB Dieter Käppel to previous | to last
6 19-Sep-2018 13:21 8 KB Dieter Käppel to previous | to last
5 09-Jan-2014 11:03 8 KB Dieter Käppel to previous | to last
4 04-Nov-2010 15:47 6 KB Dieter Käppel to previous | to last
3 03-Nov-2010 14:20 4 KB Dieter Käppel to previous | to last
2 29-Oct-2010 17:16 2 KB Dieter Käppel to previous | to last
1 22-Oct-2010 13:36 2 KB Dieter Käppel to last

Page References

Incoming links Outgoing links
JSF

Version management

Difference between version and

At line 161 added 71 lines
!Einfache Komponente
Component:
{{{
public class OutputStream extends UIComponentBase {
private String url;
@Override
public String getFamily() {
return "javax.faces.Output";
}
public String getUrl() {
ValueExpression expression = getValueExpression("url");
if (expression != null)
return (String)expression.getValue(getFacesContext().getELContext());
return url;
}
public void setUrl(String url) {
this.url = url;
}
}
}}}
Renderer:
{{{
public class OutputStreamRenderer extends Renderer {
@Override
public void encodeEnd(FacesContext context, UIComponent component) throws IOException {
OutputStream outputStream = (OutputStream)component;
ResponseWriter writer = context.getResponseWriter();
URL url = new URL(outputStream.getUrl());
InputStream inputStream = null;
try {
inputStream = url.openStream();
IOUtils.copy(inputStream, writer);
} finally {
if (inputStream != null)
inputStream.close();
}
}
}
}}}
faces-config.xml:
{{{
<component>
<component-type>intersult.OutputStream</component-type>
<component-class>com.intersult.OutputStream</component-class>
</component>
<render-kit>
<render-kit-id>HTML_BASIC</render-kit-id>
<renderer>
<component-family>javax.faces.Output</component-family>
<renderer-type>intersult.OutputStream</renderer-type>
<renderer-class>com.intersult.OutputStreamRenderer</renderer-class>
</renderer>
</render-kit>
}}}
intersult.taglib.xml:
{{{
<tag>
<tag-name>outputStream</tag-name>
<component>
<component-type>intersult.OutputStream</component-type>
<renderer-type>intersult.OutputStream</renderer-type>
</component>
</tag>
}}}