This page (revision-184) was last changed on 21-Apr-2017 08:27 by Dieter Käppel

This page was created on 09-Aug-2012 13:29 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
184 21-Apr-2017 08:27 36 KB Dieter Käppel to previous
183 21-Apr-2017 08:27 36 KB Dieter Käppel to previous | to last
182 15-Jan-2016 10:18 36 KB Dieter Käppel to previous | to last
181 15-Jan-2016 10:16 36 KB Dieter Käppel to previous | to last

Page References

Incoming links Outgoing links

Version management

Difference between version and

At line 506 changed one line
Der Scope beginnt mit einem Scope-Tag:
Ein Scope beginnt mit einem Scope-Tag:
At line 631 added 2 lines
__Hinweis:__ Falls die Tags innerhalb des Scopes Header-Resourcen installieren, werden diese Transparent nachgeladen. Das bedeutet zunächst eine schlanke Web-Seite, die schnell geladen werden kann. Einzelne CSS-Dateien, Scripts und Images werden erst bei Bedarf nachgeladen.
At line 846 changed one line
!!Validation
!!!Validierung
At line 850 added 75 lines
Mit [JSF Ext] kann das Ganze so aussehen:
[{Image src='JSF Ext/validation.PNG'}]
!!Input-Wrapper
Dabei kann man wählen, welche Teile man benutzen möchte. Ganz bequem geht es mit dem Tag <ext:input>. Damit gewrappte Eingabe-Steuerelemente werden automatisch AJAX-Validiert und mit Faces Messages versehen.
{{{
<h:form id="some-form">
<h:outputLabel for="name" value="Name"/>
<ext:input id="name">
<h:inputText id="name" value="#{userEdit.user.name}" required="true"/>
</ext:input>
</h:form>
}}}
Der Input-Wrapper-Tag ist eine Composite-Component, die man so verwenden kann wie sie ist. Oder man benutzt den Code als Vorlage für ein eigenes Projekt-Layout:
{{{
<?xml version="1.0" encoding="UTF-8"?>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:c="http://java.sun.com/jsp/jstl/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:cc="http://java.sun.com/jsf/composite"
xmlns:e="http://java.sun.com/jsf/ext"
xmlns:ext="http://java.sun.com/jsf/composite/ext"
<cc:interface>
<cc:attribute name="inputId" default=":#{cc.children[0].clientId}"/>
<cc:attribute name="styleClass"/>
<cc:attribute name="style"/>
</cc:interface>
<cc:implementation>
<h:panelGrid cellpadding="0" cellspacing="0" style="#{cc.attrs.style}" styleClass="#{cc.attrs.styleClass}">
<e:insert component="#{cc.children[0]}">
<e:ajax event="change"/>
</e:insert>
<ext:message id="message" for="#{cc.attrs.inputId}"/>
</h:panelGrid>
</cc:implementation>
</html>
}}}
Der entsprechende Messages-Tag:
{{{
<?xml version="1.0" encoding="UTF-8"?>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:c="http://java.sun.com/jsp/jstl/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:cc="http://java.sun.com/jsf/composite"
xmlns:e="http://java.sun.com/jsf/ext"
xmlns:ext="http://java.sun.com/jsf/composite/ext"
xmlns:p="http://primefaces.org/ui"
>
<cc:interface>
<cc:attribute name="for"/>
</cc:interface>
<cc:implementation>
<h:outputStylesheet name="faces-messages.css" library="css"/>
<h:message id="message" for="#{cc.attrs.for}" infoClass="msg-info" warnClass="msg-warn" errorClass="msg-error">
<e:render event="#{cc.attrs.for}"/>
</h:message>
</cc:implementation>
</html>
}}}
Die Styles befinden sich im [JSF Ext] und werden automatisch in den Header geladen.
Zusätzliche Validatoren sind durch den [Application Support] verfügbar.