Fórumok

Avvio minimizzato di una portlet -- Portlet A minimizza B

thumbnail
Adriano de Gironimo, módosítva 15 év-val korábban

Avvio minimizzato di una portlet -- Portlet A minimizza B

New Member Bejegyzések: 14 Csatlakozás dátuma: 2008.08.12. Legújabb bejegyzések
Ciao a tutti cari compagni di troubleshooting! emoticon
Mi affido a voi, dopo mille ricerche su internet e mille tentativi...

La mia situazione:
La portlet A fa un'operazione su due elementi scelti tra quelli presenti in 2 select, nel caso si voglia inserire un nuovo elemento c'è un bottone nella portlet A che dovrebbe mostrare la portlet B che si occupa di fare inserire un nuovo punto.

Sto cercando da 2 giorni di fare due operazioni:
1. Avviare una portlet in maniera minimizzata, in modo da comandarne la visualizzazione da un'altra portlet.
2. Comandare dalla portlet A l'apertura della portlet B.
Per tentare di cambiare il valore di WindowState, da WindowsState.NORMAL a WindowsState.MINIMIZED o WindowsState.MAXIMIZED ho tentato varie vie, quella più adatta mi è sembrata:
Nella view.jsp della portlet A metto un form che richiama l'action della portlet B, ad es:

<form method="post" action="<portlet:actionURL windowState=" <%="WindowState.NORMAL.toString()" %>"&gt;
	              <portlet:param name="struts_action" value="/portletB/view" />
				  <portlet:param name="portletB_state" value="normal" />
	              "&gt;
<input type="submit" value="Nuovo">
</form>


Ovviamente in struts-config.xml ho messo il forward:


       <action path="/portletA/view" type="portletA.action.ViewAction">
           <forward name="portletA.view" path="portletA.view" />
           <forward name="portletB.view" path="portletB.view" />
       </action>


Premetto che:
- Anche variando il valore di WindowState nel form non succede niente, è indifferente.
- La variabile "portletB_state" non viene trasmessa alla portletB, nè nel metodo render nè nella processAction.
- Non ho nessun errore di forward o altro tipo di errore o eccezione nella console

Se almeno questo funzionasse, fermo restando la risoluzione del primo problema, potrei nella processAction mettere:
res.setWindowState(WindowState.MINIMIZED); (oppure NORMAL)

Qualcuno mi può aiutare a risolvere uno dei due problemi, o entrambi magari?
Grazie!!!
thumbnail
Roberto Londei, módosítva 15 év-val korábban

RE: Avvio minimizzato di una portlet -- Portlet A minimizza B

New Member Bejegyzések: 12 Csatlakozás dátuma: 2008.09.29. Legújabb bejegyzések
ciao,

ma scusa una cosa, in struts-config il path deve coincidere con quello della Action...altrimenti non te la prenderà mai...
insomma con quello che hai postato tu il forward non lo prende...il path deve coincidere con quello della view.jsp

se lo sistemi mettendo il path corretto dovrebbe funzionare...

prova
ciao
thumbnail
Adriano de Gironimo, módosítva 15 év-val korábban

RE: Avvio minimizzato di una portlet -- Portlet A minimizza B

New Member Bejegyzések: 14 Csatlakozás dátuma: 2008.08.12. Legújabb bejegyzések
Premetto che ho già risolto il problema in maniera elegante utilizzando le jQuery e DOM, che funziona benissimo anche tra portlet diverse.
Questo è un consiglio che do' a tutti quelli che potrebbero avere lo stesso problema.
Comunque per me e per altri che possono essere interessati alla risposta, la tua è interessante, quindi intendevi dire che in struts-config.xml posso impostare due action diverse? Cioè intendo questo:


<action path="/portletA/view" type="portletA.action.ViewAction">
     <forward name="portletA.view" path="portletA.view" />
     <forward name="portletB.view" path="portletB.view" />
</action>

<action path="/portletA/view" type="portletB.action.ViewAction">
     <forward name="portletA.view" path="portletA.view" />
     <forward name="portletB.view" path="portletB.view" />
</action>



Voglio specificare perchè anche se ho risolto mi piace usare questa comunità anche come aiuto per tutti gli altri, e grazie per la risposta! emoticon
thumbnail
Roberto Londei, módosítva 15 év-val korábban

RE: Avvio minimizzato di una portlet -- Portlet A minimizza B

New Member Bejegyzések: 12 Csatlakozás dátuma: 2008.09.29. Legújabb bejegyzések
Adriano de Gironimo:


ciao Adriano,

io ho visto quello che hai postato, cioè questo:


<form method="post" action="<portlet:actionURL windowState=" <%="WindowState.NORMAL.toString()" %>"&gt;
	              <portlet:param name="struts_action" value="[b]&quot;/portletB/view&quot;[/b]" />
				  <portlet:param name="portletB_state" value="normal" />
	              "&gt;
<input type="submit" value="Nuovo">
</form>


poi ho visto questo:


       <action path="[b]&quot;/portletA/view&quot;[/b]" type="portletA.action.ViewAction">
           <forward name="portletA.view" path="portletA.view" />
           <forward name="portletB.view" path="portletB.view" />
       </action>


e tra me e me, mi sono detto, le due cose non hanno niente a che fare l'una con l'altra, magari se glielo dico gli faccio un favore, magari non si era accorto, magari si era distratto, sono cose che a me succedono continuamente, ma magari sono io che sono strano e non dovrei postare queste idiozie sul forum.

ciao
Roberto
thumbnail
Adriano de Gironimo, módosítva 15 év-val korábban

RE: Avvio minimizzato di una portlet -- Portlet A minimizza B

New Member Bejegyzések: 14 Csatlakozás dátuma: 2008.08.12. Legújabb bejegyzések
Intanto ti ringrazio comunque per il fatto che posti e sicuramente non sono idiozie.
Comunque quel codice ha ragione di esistere in quanto la portletA ha la sua azione, che svolge tutte le funzioni principali della portlet.
Inoltre la portletA vorrebbe anche richiamare una azione di un'altra portlet, e siccome l'azione che richiamo nel form è /portletB/view ( che punta ovviamente alla action giusta) ho provato a chiamarla in quella maniera.
E quindi ora che ci penso meglio non mi sembra possibile in ogni caso impostare due action diverse, altrimenti non ci sarebbe univocità, quindi il quesito rimane irrisolto..