Se produit au moment du chargement de la page, en plus du parateur ne trouve pas la pièce de canal ou ne peut pas lire certains caractères .J'utilise l'exemple des premiersfils du chat, apparemment j'ai une exception en essayant d'ouvrir le canal
<p:socket onMessage="handleMessage" channel="/{room}" autoConnect="false" widgetVar='subscriber' />
causés par:
java.lang.IllegalArgumentException: [/ contexte/primepush/{} chambre] n'est pas un fragment d'URL valide. Pensez à coder les parties pertinentes de l'URL avec [classe org.ocpsoft.urlbuilder.util.Encoder]
mon web.xml
<servlet>
<servlet-name>Push Servlet</servlet-name>
<servlet-class>org.primefaces.push.PushServlet</servlet-class>
<load-on-startup>1</load-on-startup>
<async-supported>true</async-supported>
</servlet>
<servlet-mapping>
<servlet-name>Push Servlet</servlet-name>
<url-pattern>/primepush/*</url-pattern>
</servlet-mapping>
dans mon haricot
public void login(BLogin log) {
RequestContext requestContext = RequestContext.getCurrentInstance();
username=log.getLogNombres()+" "+log.getLogApellidos();
if(users.contains(username)) {
//loggedIn = false;
//FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "Username taken", "Try with another username."));
//requestContext.update("growl");
// requestContext.execute("PF('subscriber').connect('/" + username + "')");
loggedIn = true;
}
else{
users.add(username);
requestContext.execute("PF('subscriber').connect('/" + username + "')");
loggedIn = true;
}
}
mon xhtml
<f:metadata>
<f:event type="preRenderView" listener="#{chatView.login(bLoginController.getbLogin())}" />
</f:metadata>
<p:growl id="growl" showDetail="true"/>
<p:socket onMessage="handleMessage" channel="/{room}" autoConnect="false" widgetVar='subscriber' />
<script type="text/javascript">
function handleMessage(message) {
var chatContent = $(PrimeFaces.escapeClientId('form:public')),
text = (message.user) ? message.user + ':' + message.text : message.text;
chatContent.append(text + '<br />');
//keep scroll
chatContent.scrollTop(chatContent.height());
if (message.updateList) {
updateList();
}
}
</script>
J'essaie
<p:socket onMessage="handleMessage" channel="/%7Broom%7D"
et d'autres erreurs
16:16:21,998 SEVERE [javax.enterprise.resource.webcontainer.jsf.application] (default task-16) Error Rendering View[/pages/home.xhtml]: java.lang.IllegalStateException: No parameter [room] was set in the pattern [/context/primepush/{room}]. Call address.set("room", value); or remove the parameter from the pattern.
S'il vous plaît inclure le code correspondant. – Julian
s'il vous plaît poster le code dans la question dans le format approprié (pas comme un commentaire). Il est presque impossible de lire de cette façon. J'ai mis à jour votre question avec le code que vous avez initialement publié. Depuis lors, vous avez mis à jour votre commentaire. Vous obtiendrez beaucoup plus de réponses est votre code est facile à lire. – Julian
Okay! Je n'arrive toujours pas à trouver un moyen de le résoudre –