Archive for maggio, 2009
28
mag

L’errore “HTTP 404 – File non trovato” è uno di quelli che i gestori dei siti web temono maggiormente. Quando un utente arriva sul sito e sbaglia a digitare una url riceve proprio tale errore. Esiste comunque un modo per non perdere tale utente magari reindirizzandolo su una pagina specifica.

Se il vostro server è basato su Apache vi basterà editare il file .htaccess solitamente presente nella root directory aggiungendo la seguente riga:

ErrorDocument 404 /404.html

Fate attenzione affinchè il tutto sia su una unica riga e ci sia un percorso della pagina che volete venga aperta partendo da / ma non usate un percorso assoluto (tipo http://www.sitoweb.it/404.html).

More »

, , ,

21
mag

Quando si lavora con i popup si può avere la necessità di chiuderlo e contemporaneamente ricaricare la pagina che lo ha aperto a seguito, ad esempio, del click su un link. In Javascript questa operazione è davvero semplice. Create una funzione come quella che segue all’interno del tag <head> della pagina HTML:

<script language="JavaScript" type="text/javascript">
<!--
function closeAndLoad (page) {
opener.location.href = page;
close();
}
// -->
</script>

More »

, ,

20
mag

Se in JAVA dovete arrotondare un numero con la virgola all’intero più vicino o comunque ad un numero decimale ma con le cifre (la precisione) da noi decisa, potete utilizzare questa funzione:

/**
* Arrotonda eventualmente un double all'intero più vicino<BR>
* Esempi:<BR>
* rounder(3.99, 1e-2) -> 4.0
* rounder(3.99, 1e-3) -> 3.99
* @param value valore da arrotondare
* @param precision precisione; ad esempio, 1e-7 indica che vogliamo 7 cifre decimali max dopo la virgola
* @return il valore eventualmente arrotondato
*/
public static double roundToInteger(double value, double precision) {
if (value>=0)
return 1.0-(value-Math.floor(value)) < precision ? Math.ceil(value) : value;
else
return 1.0-(Math.ceil(value)-value) < precision ? Math.floor(value) : value;
}

, , ,

15
mag

Se avete la necessità di selezionare i dati da una tabella secondo un criterio che prevede che il valore di un campo sia fra quelli contenuti in un insieme potete usare la clausola “in”.  Ad esempio:

select * from tabella where campo in (valori_che_campo_può_assumere)

Supponendo che campo sia un intero, questa è una possibile query:

select * from tabella where campo in (1, 2, 4, 8, 9)

Il belle è che questa cosa può essere utilizzando anche con i valori restituiti da un’altra query di selezione, come nel caso seguente:

select * from tabella where campo in (select campo_1 from tabella_1 where campo_2 = valore)

, ,

13
mag

Per ricavare l’indirizzo IP del client che si collega ad una nostra pagina web realizzata in PHP si possono usare le seguenti righe di codice:

$ip_address = getenv('REMOTE_ADDR');

Oppure

$ip_address = $_SERVER['REMOTE_ADDR'];

13
mag

Torniamo sulla questione delle date in JAVA e vediamo come estrarre il giorno da una data:

public String getGiorno(Date d) {
try {
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
String giorno = sdf.format(d);
return giorno;
}
catch (Exception e) {
e.printStackTrace();
return "";
}
}

,

12
mag

Chi realizza siti web sa molto bene che tanto l’HTML quanto il CSS non richiedono una codifica stringente. Questo che potrebbe sembrare un vantaggio è, al contrario, un grosso tallone d’Achille tanto che chi ha realizzato i browser ha praticamente deciso – almeno sinora – per conto proprio come deve essere effettuato il rendering.

Un buon programmatore, però, deve sempre attenersi allo standard. Ecco allora una utile risorsa per validare i CSS:

http://jigsaw.w3.org/css-validator/

, , ,

11
mag

Quando si lavora con Struts può essere necessario inviare a video un messaggio per l’utente che indica il tipo di errore che magari egli ha commesso nell’inserimento di un dato oppure come risposta ad un errore del sistema stesso. In questo caso si può utilizzare ActionErrors. Nella action Java dove elaborate le informazioni dovrete creare queste quattro linee di codice:

ActionErrors errors = new ActionErrors();
ActionError error = new ActionError("error.nomeNonPresente");
errors.add(ActionErrors.GLOBAL_ERROR, error);
saveErrors(request, errors);

dove error.nomeNonPresente è stato definito nell’ApplicationResources.properties.

Nella pagina dove volete visualizzare l’errore dovrete invece inserire quanto segue:

<html:messages id="error">
<c:out value="${error}"/>
</html:messages>

Non dimenticate di includere nella pagina stessa la chiamata alle giuste taglib (nel nostro caso abbiamo usato quelle di Struts):

<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/c.tld" prefix="c" %>

, , , , ,

09
mag

Oggi pubblichiamo un piccolo articolo al di fuori dei consueti schemi. Ci preme parlare di Open Source in quanto, anche a causa della crisi economica nella quale versa tutto il mondo, notiamo che sempre più aziende scelgono tale strada per la gestione della propria attività.

Nella nostra esperienza quotidiana, infatti, incontriamo non solo aziende di piccole e medie dimensioni, ma anche realtà più grandi e complesse che stanno migrando verso prodotti aperti: di questi si apprezza non solo il basso costo della licenza ma anche l’ormai maturità dei prodotti. Oggi la situazione è molto evoluta rispetto a qualche anno fa e non è difficile trovare sistemi operativi, DBMS, software di controllo di gestione, fatturazione, CMS, CMR e così via stabili, performanti, aderenti alle specifiche necessità e sviluppati con licenza Open Source.

A tal proposito RedHat ha organizzato un interessante convegno, un Open Source Day, che cerca di diffondere il più possibile il software libero:

Il convegno, con area espositiva, si prefigge di rispondere ad alcuni quesiti del mercato e di fornire una panoramica sulle novità tecnologiche e sui vantaggi economici e strategici apportati dall’utilizzo di soluzioni Open Source.

Appuntamento a Roma, il 9 Giugno 09. Maggiori informazioni sono disponibili sul sito http://www.redhat.it/promo/opensourceday/.

, ,