.dsy:it.
Show 150 posts per page

.dsy:it. (http://www.dsy.it/forum/)
- Forum De Bell Tolls (http://www.dsy.it/forum/forumdisplay.php?forumid=7)
-- [java]JSP + Bean (http://www.dsy.it/forum/showthread.php?threadid=8971)


Posted by 0m4r on 22-02-2004 16:49:

[java]JSP + Bean

mi date una mano qui?

__________________
http://www.twitter.com/0m4r


Posted by Paul on 22-02-2004 22:32:

credo che le specifiche JavaBean
si aspettino un getter e un setter
che restituisca e imposti un valore dello stesso tipo
del campo relativo.
Siccome start è int, viene chiamato
il metodo setStart(int).. che non esiste nel tuo bean;
in pratica risolvi aggiungendo:

public void setStart(int s){
this.start=s;
}

__________________
..non è un arrivederci, è un addio..


Posted by 0m4r on 23-02-2004 00:06:

fantastico...funziona!!!!!

__________________
http://www.twitter.com/0m4r


Posted by 0m4r on 29-02-2004 19:24:

avrei bisogno di una mano anche per questo...grazie

(fate finta che il mio inglese sia comprensibile dai...)

__________________
http://www.twitter.com/0m4r


Posted by Juventina on 29-02-2004 20:51:

(si scrive need non nedd) :d

__________________
Don't be evil ;)


Posted by 0m4r on 29-02-2004 21:18:

Originally posted by Juventina
(si scrive need non nedd) :d


Off-Topic:
questa non è ignoranza è il porting della dislessia per la digitazione ;PPP

__________________
http://www.twitter.com/0m4r


Posted by 0m4r on 01-03-2004 10:12:

dai raga, non abbandonatemi cosi!

__________________
http://www.twitter.com/0m4r


Posted by Paul on 02-03-2004 23:03:

una possibile soluzione...

..se ho capito bene.
Ho semplificato prendendo il valore da una costante invece che da file (ma l'interfacciamento a file non dovrebbe essere un problema).


allora due jsp:

index.jsp

code:
<%@page import="my.mine.*" %> <% Counter counter=Counter.getReference(); %> <html> <head> <title>Counter</title> </head> <body> <center><a href="click.jsp">counter<%counter.getValue()%> </a> </center> </body> </html>




click.jsp
code:
<%@page import="my.mine.*" %> <% Counter counter=Counter.getReference(); counter.dec(); response.sendRedirect("index.jsp"); %>




e due classi java (in unico file chiamato Counter.java)
code:
package my.mine; public class Counter { private final static int INIT_VALUE = 100; private int count = INIT_VALUE; private static Counter counter = null; private Counter() { new Cleaner(this).start(); } public static Counter getReference() { if (counter == null) { Counter.counter = new Counter(); } return counter; } synchronized public void dec() { this.count--; } synchronized public int getValue() { return count; } synchronized void clean() { this.count = INIT_VALUE; } } class Cleaner extends Thread { private final static int TIMEOUT = 1000000; //in millisecondi Counter counter; Cleaner(Counter counter) { this.counter = counter; } public void run() { try { while (true) { synchronized (this) { wait(TIMEOUT); } counter.clean(); } } catch (InterruptedException e) { } } }



note:

Le due classe opportunamente compilate vanno infilate
come al solito sotto WEB-INF/classes.
La classe Counter realizza il pattern Singleton.
Dovrebbe Funzionare(non ho fatto grossi test)
:)

__________________
..non è un arrivederci, è un addio..


Posted by 0m4r on 03-03-2004 12:17:

ti ringrazie della risposta, ti faro sapere entro fine settimana se funziona.

P.S.
anche te hai avuto alcuni problemi collegandoti al sito di java in questi giorni?

__________________
http://www.twitter.com/0m4r


Posted by Paul on 03-03-2004 12:38:

Mi sono accorto di un errore di copia e incolla
la riga:
<a href="click.jsp">counter<%counter.getValue()%>
va corretta con:
<a href="click.jsp">counter<%=counter.getValue()%>

senno' il numero che decrementa non si vede.

si ieri java.sun.com non andava, oggi sembra tutto ok

__________________
..non è un arrivederci, è un addio..


Posted by 0m4r on 04-03-2004 19:43:

riguardando meglio il tuo codice mi sono accorto che forse non è proprio quello che cercavo io.
Nel senso che quello di cui necessito è di avere un meccanismo che ogni giorno a mezzanotte resetti il contatore ad un valore che io stabilisco a propri, mentre, se ben ho capito quello che fa la classe che mi hai scritto, tu li ti occupi di decrementare il contatore gestendo la sincronizzazione di questa operazione. Io questo lo faccio gia, quello che mi manca è quanto detto precedentemente...

Dato questo chiarimento, hai suggerimenti?

__________________
http://www.twitter.com/0m4r


Posted by Paul on 05-03-2004 08:45:

quello che fa la mia classe e' resettare a un valore predefinito
ogni tot secondi il contatore.
Se hai bisogno che cio' avvenga a mezzanote (o a un orario qualsiasi di ogni giorno), puoi modificare la classe in questo modo:

while (true) {
synchronized (this) {
wait(TIMEOUT);
}
if (isMezzanotte()){
counter.clean();
}
}


il metodo isMezzanotte() ovviamente e' da implementare (deve ritornare true se l'orario corrente è mezzanotte o quello che vuoi tu).
A questo punto il campo TIMEOUT diventa i millisecondo ogni
quando si controllo che l'orario sia mezzanotte...

(non sarebbe carino togliere il wait() o mettere a 0 TIMEOUT, in quanto la CPU sarebbe al 100% o quasi a controllare ogni istante che sia mezzanotte)

ultima nota, probabilmente i synchronized sono inutili dal punto di vista pratico.

__________________
..non è un arrivederci, è un addio..


All times are GMT. The time now is 20:09.
Show all 12 posts from this thread on one page

Powered by: vBulletin Version 2.3.1
Copyright © Jelsoft Enterprises Limited 2000 - 2002.