JAVA, Liferay, Liferay 5, Liferay 6, Struts, Struts Portlet

[Liferay Strus Portlet] java.lang.NoSuchMethodException: No such accessible method: addFormBeanConfig()

Nel momento in cui ho voluto replicare la “hello-strust-portlet” di liferay su:

 

  • ide: netbeans 7
  • server: liferay 5.2.3 tomcat 6
  • framework: struts portlet 1.x
Mi sono trovato con questo problema che mi ha dato non poche rogne:
15:03:12,960 ERROR [ActionServlet:768] Parsing error processing resource path /WEB-INF/struts-config.xml
java.lang.NoSuchMethodException: No such accessible method: addFormBeanConfig() on object: org.apache.struts.config.impl.ModuleConfigImpl
	at org.apache.commons.digester.Digester.createSAXException(Digester.java:3181)
	at org.apache.commons.digester.Digester.createSAXException(Digester.java:3207)
	at org.apache.commons.digester.Digester.endElement(Digester.java:1225)
	at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
I passi da eseguire sono molto semplici:
  1. fermare il server;
  2. eliminare la portlet che si vuole deployare;
  3. cambiare il file liferay-plugin-package.properties cancellando nella voce “portal-dependency-jars” ogni riferimento a struts.jar;
  4. rieseguire il deploy della portlet, ed il gioco è fatto.
JAVA, JBoss, Liferay, Uncategorized

[Liferay – Jboss] Settare il time zone corretto

Molto spesso accade che presi dall’agitazione per la messa in produzione del nostro portale, ci dimentichiamo il settaggio della data, che in prima battuta può sembrare banale e in’influente; ma si rivela un boomerang quando dobbiamo poi controllare i nostri log per avere della reportistica corretta senza dover invece starci a scervellare su cosa possa essere successo oppure se quel giorno il server puntava ad un orario più tosto che ad un altro, ancora peggio se quei log scrivono sul DB!.

Bene nel file run.conf (che si trova nella direttory principale dove è presente anche lo start.sh), tra le varie configurazioni è presente questo comando:

-Duser.timezone=GMT

Dovrete cambiarlo in

-Duser.timezone=Europe/Rome

Questo permetterà al server di Jboss di reperire la data correttà non solo al netto del fuso orario, ma anche dell’ora legale.

 

Vi lascio un paio di link per consultazione, dove sono presenti tutte le liste dei time zone tra l’altro:

 

JAVA, Struts

[Struts 1.2 Portlet] Multibox reset problemi quando non si seleziona nessun elemento.

Quando si ha la situazione in qui si ha il seguente codice:

<html:multibox name="perlaForm"
property="arrayIstituti"
value='${rib.idRilevazioneIstituto}'
tabindex='<%=String.valueOf(tabIndex++) %>'
styleId="id:radio_${i}"/>

Dove il perlaForm è un form che viene tenuto in sessione.

Se nella jsp, ho selezionato dei valori dei checkbox, quando torno indietro e non seleziono nulla, STRUTS non aggiorna l’array di selezione con un array vuoto, ma ben si mantiene i dati nella sessione, rendendo i dati al suo interno inconsistenti.

Per evitare questo problema bisogne resettare l’array della multibox manualmente;

form.setArrayIstituti(null);