WebSocket

Simpe example for WebSockets.

Example

WarningWebSockets are available since JSF 2.3

WarningCSP script-src: 'unsafe-inline' is needed.

Warning WebSocket.xhtml: The comment for <f:websocket/> must be removed.

Warning WebSocketController.java: The comment for 'push' and 'pushContext' must be removed.


<?xml version="1.0" encoding="UTF-8"?> <!-- * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. --> <ui:composition template="/main.xhtml" xmlns="http://www.w3.org/1999/xhtml" xmlns:f="http://java.sun.com/jsf/core" xmlns:tc="http://myfaces.apache.org/tobago/component" xmlns:ui="http://java.sun.com/jsf/facelets"> <ui:param name="title" value="#{demoBundle.websocket}"/> <p>Simpe example for WebSockets.</p> <tc:section label="Example"> <p><tc:badge value="Warning" markup="warning"/>WebSockets are available since JSF 2.3</p> <p><tc:badge value="Warning" markup="warning"/>CSP script-src: 'unsafe-inline' is needed.</p> <p><tc:badge value="Warning" markup="warning"/> WebSocket.xhtml: The comment for <code>&lt;f:websocket/></code> must be removed.</p> <p><tc:badge value="Warning" markup="warning"/> WebSocketController.java: The comment for 'push' and 'pushContext' must be removed.</p> <tc:script file="#{request.contextPath}/content/30-concept/18-websocket/WebSocket.js"/> <!--<f:websocket channel="clock" onmessage="websocketListener"/>--> <tc:buttons> <tc:button label="Start Clock" action="#{webSocketController.startClock}"> <f:ajax/> </tc:button> <tc:button label="Stop Clock" action="#{webSocketController.stopClock}"> <f:ajax/> </tc:button> </tc:buttons> <tc:separator/> <div id="clockId"></div> </tc:section> </ui:composition>