Usando struts mi è servito impostare il valore null su un intero, in modo poter efficacemente usare il metodo reset() di un ActionForm() che riflette totalmente un Bean.
Ho usato questo "stratagemma":
int dichiarato come Integer.
Integer = null;
se lo stampate però ricevete il valore 0... così è sufficiente:
interoDelActionForm().toString();
rende un NullPointerException se null, gestibile facilmente a questo punto con un try/ catch
Bay & Chicas
Bai e ciccaddu
sabato 2 marzo 2013
mercoledì 11 luglio 2012
Tomcat e JBoss insieme
Può capitare di dover utilizzare web servers diversi per la gestione di una web application.
Questo esempio prende in considerazione JBoss 6.1.0 (l'ultima versione di JBoss supportata da Netbeans) come EJB Server, e Tomcat 6.0.x come Web Server ( Tomcat è molto più leggero ma non è in grado di gestire gli EJB ).
Il problema principale è far comunicare i due Server, problema che può essere risolto così:
1) Innanzitutto le interfacce dei beans in JBoss devono essere dichiarate come remote
2) E' necessario importare determinate librerie in Tomcat, in modo che capisca come comunicare con JBoss. Tra queste c'è sicuramente il progetto dell'EJB Server; cosa molto facile con netbeans : Tasto destro sull'applicazione del web server > proprietà > libraries > add project.
Le altre fanno riferimento ad alcuni Jar di JBoss:
/client/jboss-client.jar
/client/jboss-common-core.jar
/client/jbossall-client.jar
/client/jnp-client.jar
/lib/jboss-loggin
3) Bisogna richiamare i bean remoti. Per semplicità potete creare una classe Utitlity che abbia un metodo simile:
e a questo punto per richiamare il gestore di bean associato:
e poi
Questo esempio prende in considerazione JBoss 6.1.0 (l'ultima versione di JBoss supportata da Netbeans) come EJB Server, e Tomcat 6.0.x come Web Server ( Tomcat è molto più leggero ma non è in grado di gestire gli EJB ).
Il problema principale è far comunicare i due Server, problema che può essere risolto così:
1) Innanzitutto le interfacce dei beans in JBoss devono essere dichiarate come remote
2) E' necessario importare determinate librerie in Tomcat, in modo che capisca come comunicare con JBoss. Tra queste c'è sicuramente il progetto dell'EJB Server; cosa molto facile con netbeans : Tasto destro sull'applicazione del web server > proprietà > libraries > add project.
Le altre fanno riferimento ad alcuni Jar di JBoss:
/client/jboss-client.jar
/client/jboss-common-core.jar
/client/jbossall-client.jar
/client/jnp-client.jar
/lib/jboss-loggin
3) Bisogna richiamare i bean remoti. Per semplicità potete creare una classe Utitlity che abbia un metodo simile:
public Object callRemoteBean(String name) throws NamingException {
Properties props = new Properties();
props.setProperty("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory");
props.setProperty("java.naming.provider.url", "jnp://localhost:1099");
props.setProperty("java.naming.factory.url.pkgs", "org.jboss.naming:org.jnp.interfaces");
InitialContext ctx = new InitialContext(props);
return ctx.lookup(name);
e a questo punto per richiamare il gestore di bean associato:
NomeBeanFacadeRemote nomeBeanFacade = (NomeBeanFacadeRemote) utility.callRemoteBean("NomeBeanFacade/remote");
e poi
nomeBeanFacade.find(idBean);
venerdì 6 luglio 2012
[Java] Conteggio di date e giorni lavorativi
Innanzitutto lasciamo perdere le classi Calendar e GregorianCalendar, e usiamo solamente JodaTime.
La mia situazione di partenza è una data salvata in un database (class Date), a cui devo aggiungere alcuni giorni lavorativi.
Converto Date a DateTime (package JodaTime), ecco la funzione che fa a caso nostro, prendendo in considerazione solamente i giorni dal lunedì al venerdì:
Un controllo utile è sicuramente quello che date 2 date (inizio-fine) ci riporta il numero di giorni lavorativi:
La mia situazione di partenza è una data salvata in un database (class Date), a cui devo aggiungere alcuni giorni lavorativi.
Converto Date a DateTime (package JodaTime), ecco la funzione che fa a caso nostro, prendendo in considerazione solamente i giorni dal lunedì al venerdì:
public DateTime addLavorativeDays (DateTime startDate, int lavorativeDays){
while (lavorativeDays>0){
System.out.println(startDate.getDayOfWeek());
if (startDate.getDayOfWeek()<6){
startDate = startDate.plusDays(1);
lavorativeDays--;
}
else {
startDate = startDate.plusDays(1);
}
}
return startDate;
}
Un controllo utile è sicuramente quello che date 2 date (inizio-fine) ci riporta il numero di giorni lavorativi:
public int returnWeeklyDays(DateTime first, DateTime second){
int days=0;
while ((Days.daysBetween(first, second)).getDays()!=0){
if (first.getDayOfWeek()<6){
days++;
}
first = first.plusDays(1);
}
return days;
}
venerdì 29 giugno 2012
Button submit image html, struts
<td><input type="image" value="submit" src="/DGestWebServer/images/add.png" width="20" height="20" border="0" alt="SUBMIT!" name="image"> </td>
martedì 12 giugno 2012
[JAVASCRIPT-AJAX] inviare richieste post
Doppia funzione per inviare richieste POST con JS-AJAX
in url c'è il link a partire dalla root della mia pagina che accetta le richieste
In data ci sono le mie variabili post da inviare
function richiesta(id,tabella){
// link alla pagina dimanica che opera
var url='pages/pagina_richieste_js.php?action=attivita';
var data="id="+id+"&tabella="+tabella;
var risposta=invia_richiesta(url, data) ;
}
// comando che effettua la chiamata alla nostra pagina
function invia_richiesta(url,data){
var call = $.ajax({
type: "POST",
url: url,
data: data,
async: false
}).responseText;
return call;
}
venerdì 8 giugno 2012
[JAVA] Download di file da un server con FileInputStream
String path = this.getServlet().getServletContext().getRealPath("/folder" + filename);
FileInputStream inputStream = new FileInputStream(path);
response.setHeader("Content-Disposition","attachment; filename="+filename);
try {
int c;
while ((c = inputStream.read()) != -1) {
response.getWriter().write(c);
}
} finally {
if (inputStream != null)
inputStream.close();
response.getWriter().close();
}
[JS] Come creare una classe javascript
Di seguito un esempio di creazione della classe per js
<script>
var class_funct = new function (){
var this.funzione_1 = function (var1,var2){
alert(var1+" | "+var2);
}
}
</script>
Come richiamare la funzione
<a onclick='class_funct.funzione_1(1,2)'></a>
Baci, abbracci dal C....
Iscriviti a:
Commenti (Atom)