Foros de discusión

Gestione Bottone

Fabio Valentino, modificado hace 7 años.

Gestione Bottone

New Member Mensajes: 3 Fecha de incorporación: 27/10/15 Mensajes recientes
Ciao a tutti,
da poche settimane mi sono avvicinato a Liferay, ho prelevato i codici sorgente di Chat-portlet, volevo aggiungere un bottone , ho iniziato modificando il modulo view.jsp. ho inserito il codice html per abilitare il bottone:
<li>
<label for="chat-recpaus"><input id="flagRecPausa" type="submit" value="Pausa" onclick="return change(this); " /></label>
<script type="text/javascript">
function change( el )
{
if ( el.value === "Pausa" )
el.value = "Rec";
else
el.value = "Pausa";
}
</script>
</li>

quando si entra nella chat, si vede il bottone con la scritta Pause, quando si clicca diventa Rec, nel modulo java vorrei prelevare il valore del bottone , sapere se è Rec o Pause. Mi hanno suggerito di cancellare le modifiche che ho inserito e di disegnare il bottone con AlloyUI, cosi Liferay genera il codice in automatico, voi cosa mi suggerite, continuare ad aprire i moduli e modificarli usare AlloyUI o altro ancora.
Grazie
thumbnail
Pier Paolo Ramon, modificado hace 7 años.

RE: Gestione Bottone

Junior Member Mensajes: 90 Fecha de incorporación: 25/05/10 Mensajes recientes
Partire con lo studio di Liferay dal portlet chat non è una ottima idea per due importanti ragioni:

  • non è proprio un plugin semplice;
  • è poco portlet e molto custom.


Per rispondere alla tua domanda, non hai modo di sapere qual'è lo stato del bottone “da Java”, ma dirla così è una semplificazione troppo selvaggia.
Visto che a quanto vedo hai una conoscenza parziale della cosiddetta “piattaforma Web” provo a darti alcune indicazioni che dovrebbero aiutarti a comprendere meglio il contesto.

Lo User Agent (per gli amici “browser”) comunica con il server effettuando HTTP Requests (richieste) e leggendo le HTTP Responses (risposte) che gli vengono fornite. Tecnologie moderne a parte (come i Web Sockets o il long polling, di cui la chat fa estensivo uso) non c'è altra comunicazione tra client e server: attraverso il protocollo HTTP avvengono richieste e risposte, anche più d'una per “pagina”.

Questo significa che il server (“Java” nella tua domanda) non ha alcuna informazione su cosa succeda alla pagina quando questa è nelle mani del browser, a meno ché il browser, sotto indicazione di uno script JavaScript ad esempio, non invii una nuova richiesta al server.

Quando attraverso JavaScript vengono eseguite richieste verso il server si parla comunemente di ajax.

Una cosa incredibilmente semplificata ma vicina a quello che vuoi raggiungere è quello che segue:

<button id="<portlet:namespace />record">Rec</button>

<aui:script use="aui-base,aui-io-request">
var active = true;
var btn = A.one('#<portlet:namespace />record');

btn.on('click', function () {
  btn.text(active ? 'Pausa' : 'Rec');
  A.io.request('&lt;%= someKindOfURLHere %&gt;', {
    data: { "<portlet:namespace />active": active }
  });
});
</aui:script>


Ti scontrerai con il fatto che non sai che tipo di URL devi indicare nella chiamata a A.io.request. Consiglio di partire con lo studio della modalità di svluppo su Liferay seguendo quanto trovi nel portale di documentazione, dev.liferay.com.
Fabio Valentino, modificado hace 7 años.

RE: Gestione Bottone

New Member Mensajes: 3 Fecha de incorporación: 27/10/15 Mensajes recientes
Grazie mille per la risposta