<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Made in Software &#187; Java</title>
	<atom:link href="http://www.madeinsoftware.it/index.php/category/java/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.madeinsoftware.it</link>
	<description>In un mondo fatto di software, consigli pratici per gli sviluppatori</description>
	<lastBuildDate>Mon, 26 Jul 2010 09:17:44 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Progettazione di un modulo CRM &#8211; Ticketing</title>
		<link>http://www.madeinsoftware.it/index.php/2010/06/02/progettazione-di-un-modulo-crm-ticketing/</link>
		<comments>http://www.madeinsoftware.it/index.php/2010/06/02/progettazione-di-un-modulo-crm-ticketing/#comments</comments>
		<pubDate>Wed, 02 Jun 2010 08:32:10 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[crm]]></category>
		<category><![CDATA[progettazione]]></category>

		<guid isPermaLink="false">http://www.madeinsoftware.it/?p=102</guid>
		<description><![CDATA[Servono diversi componenti AJAX per realizzare un'interfaccia di ticketing funzionale ad un modulo CRM]]></description>
			<content:encoded><![CDATA[<p>Questa settimana mi Ã¨ stato richiesto di progettare un <strong>modulo CRM</strong>, in particolare legato al solo aspetto di <strong>Customer Support</strong>, che attraverso un sistema di ticketing permettesse di tener traccia di tutte le attivitÃ  correlate alle comunicazioni con i clienti. Allo stesso tempo il modulo deve essere in grado di registrare anche richieste provenienti da contatti di qualunque genere che in futuro potrebbero trasformarsi in clienti.</p>
<p>Qui non voglio discutere della progettazione, che mi pare troppo specifica al caso trattato. ParlerÃ² invece delle scelte che andrÃ² ad effettuare circa i singoli componenti legati all&#8217;interfaccia utente. Ritengo infatti che per rendere questa soluzione efficace sia necessario fornire il miglior supporto possibile a chi lo sta utilizzando che potrebbe trovarsi di fronte al cliente al quale deve dare risposte immediate e precise.</p>
<p>Giusto per mettere qualche paletto, il sistema sarÃ  basato su uno schema MVC nel quale Model e Controller saranno realizzati in JAVA (J2EE) mentre la View sarÃ  prodotta in HTML usando pagine JSP (utilizzerÃ² componenti EJB ed il framework Struts).</p>
<p>Tornando all&#8217;interfaccia utente l&#8217;idea Ã¨ quella di integrare componenti AJAX per svolgere tutte le principali funzionalitÃ . CiÃ² che il cliente mi ha richiesto, in particolare, Ã¨ la possibilitÃ  di realizzare quanto segue:</p>
<ul>
<li>Creazione ticket</li>
<li>Assegnazione del ticket</li>
<li>Rilevazione della qualitÃ  del lavoro svolto</li>
<li>PossibilitÃ  di allegare documenti e file al ticket</li>
<li>Registrazione delle attivitÃ  e dei tempi sul ticket</li>
<li>PossibilitÃ  di trasformare in automatico i file in formato PDF standard (PDF/A-1)</li>
<li>Invio segnalazione via email al destinatario del ticket</li>
<li>Invio di questionario soddisfazione via email al cliente quando il ticket viene risolto (chius0)</li>
<li>Apertura di documenti e procedure direttamente dal ticket (questo aspetto Ã¨ legato al <a title="Bizbrain Core ERP" href="http://www.bizbrain.it/core" target="_blank">software ERP Bizbrain Core</a> installato in azienda)</li>
<li>Riepilogo ticket con pannelli che permettono di controllare tutta la vita dello stesso e cosa ne Ã¨ scaturito</li>
</ul>
<p>Nel prossimo appuntamento farÃ² un elenco dei componenti che ritengo necessario integrare e del perchÃ© sono stati scelti. ParlerÃ² anche della loro integrazione nel progetto. Sono perÃ² aperto anche a suggerimenti da parte vostra&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.madeinsoftware.it/index.php/2010/06/02/progettazione-di-un-modulo-crm-ticketing/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>JAVA: invocare dinamicamente un metodo di una classe</title>
		<link>http://www.madeinsoftware.it/index.php/2010/04/30/java-invocare-dinamicamente-un-metodo-di-una-classe/</link>
		<comments>http://www.madeinsoftware.it/index.php/2010/04/30/java-invocare-dinamicamente-un-metodo-di-una-classe/#comments</comments>
		<pubDate>Fri, 30 Apr 2010 08:45:05 +0000</pubDate>
		<dc:creator>dinox</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[invoke]]></category>

		<guid isPermaLink="false">http://www.madeinsoftware.it/?p=98</guid>
		<description><![CDATA[E' possibile invocare dinamicamente un metodo di una funzione con JAVA per realizzare specifici compiti.]]></description>
			<content:encoded><![CDATA[<p>Quando si programma in JAVA (ma lo stesso vale anche per altri linguaggi) puÃ² capitare di dover <strong>invocare in maniera dinamica un determinato metodo di una determinata classe</strong>. Tanto per fare un esempio banale, supponiamo di voler costruire una applicazione calcolatrice dove sono presenti due campi per inserire le cifre ed una combo con le 4 operazioni matematiche (somma, sottrazione, divisione, moltiplicazione). Quello che si vuole Ã¨ che ad ogni elemento della combo sia associata una funzione che faccia, appunto, l&#8217;operazione di somma, sottrazione, divisione o moltiplicazione.</p>
<p>Il problema potrebbe essere risolto banalmente &#8211; ma oserei dire anche nella maniera piÃ¹ &#8220;brutta&#8221; &#8211; con un costrutto switch-case (if (somma) -&gt; fai la somma else if (differenza) -&gt; fai la differenza, &#8230;) oppure utilizzando una invocazione dinamica delle funzioni somma, sottrazione, divisione o moltiplicazione. Per i nostri scopi supponiamo di avere la classe OperazioniMatematiche nella quale sono state create le suddette funzioni come metodi pubblici.</p>
<p><span id="more-98"></span></p>
<p>Per invocare in maniera dinamica i metodi di tale classe, dunque, Ã¨ sufficiente creare un<strong> array di Object relativi ai parametri da passare ai metodi</strong> (nella fattispecie si tratterÃ  di due Double che saranno gli addendi per l&#8217;addizione,Â  i fattori per la moltiplicazione e cosÃ¬ via), indicare il tipo di oggetti passati (Double), dichiarare il metodo ed invocarlo. Segue un pezzo di codice di esempio:</p>
<pre>String nomeMetodo = "addizione"; //Esempio con l'addizione
</pre>
<pre>OperazioniMatematiche opMat = new OperazioniMatematiche();</pre>
<pre>Double primaCifra = 1.0;</pre>
<pre>Double secondaCifra = 5.3;</pre>
<pre>Object paramsObj[] = {primaCifra, secondaCifra};
Class params[] = {Double.class, Double.class};
Class opMatClass = OperazioniMatematiche.class;
</pre>
<pre>Method metodoDaInvocare = opMatClass.getDeclaredMethod(nomeMetodo, params);
</pre>
<pre>Double somma = metodo.invoke(opMat, paramsObj)); // Somma = 6.3
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.madeinsoftware.it/index.php/2010/04/30/java-invocare-dinamicamente-un-metodo-di-una-classe/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Scoperta vulnerabilitÃ  in JAVA. E giÃ  sistemata!</title>
		<link>http://www.madeinsoftware.it/index.php/2010/04/17/scoperta-vulnerabilita-in-java-e-gia-sistemata/</link>
		<comments>http://www.madeinsoftware.it/index.php/2010/04/17/scoperta-vulnerabilita-in-java-e-gia-sistemata/#comments</comments>
		<pubDate>Sat, 17 Apr 2010 10:19:22 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[JVM]]></category>

		<guid isPermaLink="false">http://www.madeinsoftware.it/?p=96</guid>
		<description><![CDATA[SUN, o meglio Oracle, ha rilasciato la JVM Version 6 Update 20 per correggere una falla di sicurezza]]></description>
			<content:encoded><![CDATA[<p>SUN ha scoperto una <strong>nuova vulnerabilitÃ  nella virtual machine JAVA</strong> ma a differenza dei tempi in cui l&#8217;azienda vagava solitaria l&#8217;ha risolta in tempi assolutamente da record, meno di una settimana. Evidentemente da Oracle avranno dato disposizioni per un cambiamento di rotta che potrebbe essere stato causa anche della rottura con la vecchia guardia. Oppure l&#8217;aver accelerato sui tempi potrebbe essere dipeso solo dal fatto che qualche hacker pare abbia giÃ  trovato il modo di sfruttare la falla a proprio vantaggio.</p>
<p>Il bug, presente nelle versioni Windows e Linux della JVM, riguarda la tecnica di filtraggio degli indirizzi URL nei quali potrebbe essere passato un parametro che permette di avviare un&#8217;applet JAVA locale per eseguire del codice arbitrario. La <strong><a title="Virtual Machine Java Download" href="http://www.java.com/en/download/index.jsp" target="_blank">Version 6 Update 20</a></strong> Ã¨ disponibile sul sito web java.com per il download.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.madeinsoftware.it/index.php/2010/04/17/scoperta-vulnerabilita-in-java-e-gia-sistemata/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Arrotondare un double all&#8217;intero piÃ¹ vicino</title>
		<link>http://www.madeinsoftware.it/index.php/2009/05/20/arrotondare-un-double-allintero-piu-vicino/</link>
		<comments>http://www.madeinsoftware.it/index.php/2009/05/20/arrotondare-un-double-allintero-piu-vicino/#comments</comments>
		<pubDate>Wed, 20 May 2009 15:19:42 +0000</pubDate>
		<dc:creator>dinox</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[arrotondare]]></category>
		<category><![CDATA[double]]></category>
		<category><![CDATA[numeri]]></category>
		<category><![CDATA[precisione]]></category>

		<guid isPermaLink="false">http://www.madeinsoftware.it/?p=75</guid>
		<description><![CDATA[Come arrotondare in JAVA un double alla precisione desiderata o al numero intero piÃ¹ vicino]]></description>
			<content:encoded><![CDATA[<p>Se in JAVA dovete <strong>arrotondare un numero con la virgola all&#8217;intero piÃ¹ vicino</strong> o comunque ad un numero decimale ma con le cifre (la precisione) da noi decisa, potete utilizzare questa funzione:</p>
<p><code>/**<br />
* Arrotonda eventualmente un double all'intero piÃ¹ vicino&lt;BR&gt;<br />
* Esempi:&lt;BR&gt;<br />
* rounder(3.99, 1e-2) -&gt; 4.0<br />
* rounder(3.99, 1e-3) -&gt; 3.99<br />
* @param value valore da arrotondare<br />
* @param precision precisione; ad esempio, 1e-7 indica che vogliamo 7 cifre decimali max dopo la virgola<br />
* @return il valore eventualmente arrotondato<br />
*/<br />
public static double roundToInteger(double value, double precision) {<br />
if (value&gt;=0)<br />
return 1.0-(value-Math.floor(value)) &lt; precision ? Math.ceil(value) : value;<br />
else<br />
return 1.0-(Math.ceil(value)-value) &lt; precision ? Math.floor(value) : value;<br />
}</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.madeinsoftware.it/index.php/2009/05/20/arrotondare-un-double-allintero-piu-vicino/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Estrarre il giorno da una data in JAVA</title>
		<link>http://www.madeinsoftware.it/index.php/2009/05/13/estrarre-il-giorno-da-una-data-in-java/</link>
		<comments>http://www.madeinsoftware.it/index.php/2009/05/13/estrarre-il-giorno-da-una-data-in-java/#comments</comments>
		<pubDate>Wed, 13 May 2009 11:50:00 +0000</pubDate>
		<dc:creator>dinox</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[calendar]]></category>
		<category><![CDATA[date]]></category>

		<guid isPermaLink="false">http://www.madeinsoftware.it/?p=67</guid>
		<description><![CDATA[Un modo davvero facile per estrarre solo il giorno da una data in JAVA]]></description>
			<content:encoded><![CDATA[<p>Torniamo sulla questione delle date in JAVA e vediamo come estrarre il giorno da una data:</p>
<p><code>public String getGiorno(Date d) {<br />
try {<br />
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");<br />
String giorno = sdf.format(d);<br />
return giorno;<br />
}<br />
catch (Exception e) {<br />
e.printStackTrace();<br />
return "";<br />
}<br />
}</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.madeinsoftware.it/index.php/2009/05/13/estrarre-il-giorno-da-una-data-in-java/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Struts e i messaggi di errore</title>
		<link>http://www.madeinsoftware.it/index.php/2009/05/11/struts-e-i-messaggi-di-errore/</link>
		<comments>http://www.madeinsoftware.it/index.php/2009/05/11/struts-e-i-messaggi-di-errore/#comments</comments>
		<pubDate>Mon, 11 May 2009 07:41:17 +0000</pubDate>
		<dc:creator>dinox</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[actionerror]]></category>
		<category><![CDATA[actionerrors]]></category>
		<category><![CDATA[applicationresources]]></category>
		<category><![CDATA[errore]]></category>
		<category><![CDATA[struts]]></category>
		<category><![CDATA[taglib]]></category>

		<guid isPermaLink="false">http://www.madeinsoftware.it/?p=57</guid>
		<description><![CDATA[Come creare un corretto messaggio di errore in Struts con ActionErrors, taglib e ApplicationResources.properties]]></description>
			<content:encoded><![CDATA[<p>Quando si lavora con Struts puÃ² essere necessario inviare a video un messaggio per l&#8217;utente che indica il tipo di errore che magari egli ha commesso nell&#8217;inserimento di un dato oppure come risposta ad un errore del sistema stesso. In questo caso si puÃ² utilizzare <strong>ActionErrors</strong>. Nella <strong>action Java</strong> dove elaborate le informazioni dovrete creare queste quattro linee di codice:</p>
<p><code>ActionErrors errors = new ActionErrors();<br />
ActionError error = new ActionError("error.nomeNonPresente");<br />
errors.add(ActionErrors.GLOBAL_ERROR, error);<br />
saveErrors(request, errors);</code></p>
<p>dove <em>error.nomeNonPresente</em> Ã¨ stato definito nell&#8217;<em>ApplicationResources.properties</em>.</p>
<p><strong>Nella pagina</strong> dove volete visualizzare l&#8217;errore dovrete invece inserire quanto segue:</p>
<p><code>&lt;html:messages id="error"&gt;<br />
&lt;c:out value="${error}"/&gt;<br />
&lt;/html:messages&gt;</code></p>
<p>Non dimenticate di includere nella pagina stessa la chiamata alle giuste taglib (nel nostro caso abbiamo usato quelle di Struts):</p>
<p><code>&lt;%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %&gt;<br />
&lt;%@ taglib uri="/WEB-INF/c.tld" prefix="c" %&gt;</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.madeinsoftware.it/index.php/2009/05/11/struts-e-i-messaggi-di-errore/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Open Source, fra risparmio e opportunitÃ </title>
		<link>http://www.madeinsoftware.it/index.php/2009/05/09/open-source-fra-risparmio-e-opportunita/</link>
		<comments>http://www.madeinsoftware.it/index.php/2009/05/09/open-source-fra-risparmio-e-opportunita/#comments</comments>
		<pubDate>Sat, 09 May 2009 15:04:51 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[convegni]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://www.madeinsoftware.it/?p=47</guid>
		<description><![CDATA[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 [...]]]></description>
			<content:encoded><![CDATA[<p>Oggi pubblichiamo un piccolo articolo al di fuori dei consueti schemi. Ci preme parlare di <strong>Open Source</strong> 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Ã .</p>
<p>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&#8217;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.</p>
<p>A tal proposito <strong>RedHat ha organizzato un interessante convegno</strong>, un Open Source Day, che cerca di diffondere il piÃ¹ possibile il software libero:</p>
<p style="padding-left: 30px;"><em>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&#8217;utilizzo di soluzioni Open Source. </em></p>
<p>Appuntamento a Roma, il 9 Giugno 09. Maggiori informazioni sono disponibili sul sito <a title="RedHat Open Source Day" href="http://www.redhat.it/promo/opensourceday/" target="_blank">http://www.redhat.it/promo/opensourceday/</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.madeinsoftware.it/index.php/2009/05/09/open-source-fra-risparmio-e-opportunita/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Formattare un numero come stringa in JAVA</title>
		<link>http://www.madeinsoftware.it/index.php/2009/05/06/formattare-un-numero-come-stringa-in-java/</link>
		<comments>http://www.madeinsoftware.it/index.php/2009/05/06/formattare-un-numero-come-stringa-in-java/#comments</comments>
		<pubDate>Wed, 06 May 2009 08:28:46 +0000</pubDate>
		<dc:creator>dinox</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[formattare]]></category>
		<category><![CDATA[locale]]></category>
		<category><![CDATA[numeri]]></category>

		<guid isPermaLink="false">http://www.madeinsoftware.it/?p=33</guid>
		<description><![CDATA[Lavorare facilmente con i numeri in JAVA richiede la conoscenza di poche righe di codice. Ecco come formattare un numero decimale]]></description>
			<content:encoded><![CDATA[<p>Quando abbiamo la necessitÃ  di formattare un numero per mostrarlo a video non sempre Ã¨ cosÃ¬ immediato farlo. Ecco una funzione JAVA adatta allo scopo:</p>
<p><code>/**<br />
* Formatta un double in formato stringa con un numero di cifre decimali dato da precision<br />
* @param d valore da formattare<br />
* @param precision la precisione desiderata<br />
* @return una stringa<br />
*/<br />
public static String numberFormat(double d,Â  int precision) {<br />
NumberFormat nf = NumberFormat.getNumberInstance(Locale.ITALY);<br />
nf.setMinimumFractionDigits(precision);<br />
nf.setMaximumFractionDigits(precision);<br />
return nf.format(d);<br />
}</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.madeinsoftware.it/index.php/2009/05/06/formattare-un-numero-come-stringa-in-java/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Calcolare il tempo in ore, min e sec fra due date</title>
		<link>http://www.madeinsoftware.it/index.php/2009/04/30/calcolare-il-tempo-in-ore-min-e-sec-fra-due-date/</link>
		<comments>http://www.madeinsoftware.it/index.php/2009/04/30/calcolare-il-tempo-in-ore-min-e-sec-fra-due-date/#comments</comments>
		<pubDate>Thu, 30 Apr 2009 11:27:14 +0000</pubDate>
		<dc:creator>dinox</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[calendar]]></category>
		<category><![CDATA[date]]></category>

		<guid isPermaLink="false">http://www.madeinsoftware.it/?p=28</guid>
		<description><![CDATA[Ecco come ottenere una stringa del tipo hh:mm:ss che indica il tempo che intercorre fra due date in JAVA]]></description>
			<content:encoded><![CDATA[<p>Quello delle date i JAVA Ã¨ un problema abbastanza intricato da venirne facilmente fuori. Ecco dunque, per la serie &#8216;funzioni che possono sempre servire&#8217;, un modo per calcolare il numero di ore fra due date e tornarle con una stringa formattata:</p>
<p><code>/**<br />
* Calcula il numero di ore fra due date.<br />
*<br />
* @param d1Â Â Â  La prima data.<br />
* @param d2Â Â Â  La seconda data.<br />
*<br />
* @returnÂ  Numero di ore fra le due date in una stringa formattata hh:mm:ss.<br />
*/<br />
public static String getOreFraDate (java.util.Date d1, java.util.Date d2) {<br />
// scambia le date se ce ne fosse la necessitÃ<br />
if (d1.after(d2)) {<br />
Date swap = d1;<br />
d1 = d2;<br />
d2 = swap;<br />
}<br />
double tempoTotale = d2.getTime() - d1.getTime();<br />
int h = (int)(tempoTotale / (1000 * 60 * 60));<br />
tempoTotale = tempoTotale - (h * 1000 * 60 * 60);<br />
int m = (int)(tempoTotale / (1000 * 60));<br />
tempoTotale = tempoTotale - (m * 1000 * 60);<br />
int s = (int)(tempoTotale / (1000));<br />
return h + ":" + m + ":" + s;<br />
}</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.madeinsoftware.it/index.php/2009/04/30/calcolare-il-tempo-in-ore-min-e-sec-fra-due-date/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Validare un numero formattato usando una ER</title>
		<link>http://www.madeinsoftware.it/index.php/2009/04/29/validare-un-numero-formattato-usando-una-er/</link>
		<comments>http://www.madeinsoftware.it/index.php/2009/04/29/validare-un-numero-formattato-usando-una-er/#comments</comments>
		<pubDate>Wed, 29 Apr 2009 14:15:50 +0000</pubDate>
		<dc:creator>dinox</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[espressione regolare]]></category>
		<category><![CDATA[struts]]></category>
		<category><![CDATA[validator]]></category>
		<category><![CDATA[validazione campi]]></category>

		<guid isPermaLink="false">http://www.madeinsoftware.it/?p=25</guid>
		<description><![CDATA[Ecco una piccola espressione regolare per validare un numero come 1.245.764,87 ]]></description>
			<content:encoded><![CDATA[<p>Torniamo ancora sull&#8217;argomento Validator di Struts. Purtroppo quello dei numeri e delle date Ã¨ un campo nel quale la validazione trova molti ostacoli a causa delle diverse convenzioni internazionali. Per poter validare un numero come un buon italiano lo scriverebbe occorre dunque ricorrere a qualche stratagemma e di certo le <strong>Espressioni Regolari</strong> possono venirci incontro. Per essere piÃ¹ precisi vogliamo validare un qualunque numero nella forma <strong>nnn.nnn.nnn,nn</strong> come ad esempio <strong>1.230,54</strong>. Possiamo dunque usare una espressione regolare come questa:</p>
<p><code>^[0-9]*[.,]?[0-9]+$</code></p>
<p>&#8230;ed integrarla nel file validation.xml di Struts in questo modo:</p>
<p><code>&lt;field depends="mask" indexedListProperty="rows" property="speseViaggio"&gt;<br />
&lt;arg0 key="label.speseViaggio"/&gt;<br />
&lt;var&gt;&lt;var-name&gt;mask&lt;/var-name&gt;&lt;var-value&gt;^[0-9]*[.,]?[0-9]+$&lt;/var-value&gt;&lt;/var&gt;<br />
&lt;/field&gt;</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.madeinsoftware.it/index.php/2009/04/29/validare-un-numero-formattato-usando-una-er/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
