Apache Commons enthält viele Open -Source -Tools, um Probleme zu lösen, die häufig bei der Programmierung auftreten und sich wiederholende Arbeitskräfte reduzieren. Im Folgenden finden Sie eine kurze Einführung in die Tools, die ich in den letzten Jahren während des Entwicklungsprozesses verwendet habe.
| Komponenten | Funktionale Einführung |
| Beanutils | Bietet verschiedene Operationen, Klonobjekte, Eigenschaften usw. für JavaBeans. |
| Zwischen | Konvertieren Sie XML- und Java -Objekte zueinander. |
| Codec | Tools, die sich mit häufig verwendeten Codierungsmethoden wie DES, SHA1, MD5, BASE64 usw. befassen. |
| Sammlungen | Java Collection Framework Operation. |
| Kompresse | Java bietet eine Bibliothek der Dateiverpackungskomprimierung. |
| Konfiguration | Eine Konfigurationsverwaltungsklassenbibliothek für Java -Anwendungen. |
| DBCP | Stellen Sie Datenbankverbindungs -Pooling -Dienste an. |
| Dbutils | Bietet eine Betriebskapselung von JDBC, um die Datenabfrage zu vereinfachen und Lesevorgänge aufzuzeichnen. |
| Java sendet E -Mail an die Kapselung von Javamail. | |
| FileUpload | Bietet die Funktion "Datei -Upload". |
| Httpclient | Bietet verschiedene Kommunikationsvorgänge zwischen HTTP -Clients und Servern. Es wurde nun in Httpcomponents geändert |
| Io | Einkapselung von IO -Tools. |
| Lang | Werkzeugklassenpakete für Java Basic -Objektmethoden wie: Stringutils, Arrayutils usw. |
| Protokollierung | Es bietet eine Java -Protokollierungsschnittstelle. |
| Validator | Bietet ein Datenüberprüfungs -Framework für die Client- und Serverseite. |
1. Beanutils bietet verschiedene Operationen für JavaBeans, wie z. B. Objekt, Attributkopieren usw.
// 1. Klonen von Objekt // Erstellen Sie eine neue normale Java -Bean, die als klonierte Objektperson verwendet werden kann. java.util.map; import org.apache.commons.beanutils.Beanutils; import org.apache.commons.beanutils.ConvertUtils; {// Clone Person Person2 = (Person) beanutils.clonebean (Person); System.out.println (person2.getName ()+">>"+person2.getage ();} catch (illegalaccessException e) {E. printstacktrace ();} catch (INSTANTIGUMAKELEException E) {E.Printstacktrace (); {e.printstacktrace ();} catch (nosuchmethodException e) {e.printstacktrace ();}}} // Das Prinzip wird auch durch den Java -Reflexionsmechanismus durchgeführt. // 2. Konvertieren Sie ein Kartenobjekt in eine Bean // Der Schlüssel dieses Kartenobjekts muss den Eigenschaften der Bean entsprechen. Map map = new HashMap (); map.put ("name", "tom"); map.put ("E -Mail", "tom@"); map.put ("Alter", "21"); // Umwandeln Sie eine Person in eine Person. // eine Bean in ein Kartenobjekt umwandeln, wie folgt: MAP MAP = beanutils.describe (Person)2. zwischen XML- und Java -Objekten werden konvertiert.
// 1. Javabean in XML -Inhalt konvertieren // Erstellen Sie eine neue Personklassenperson. "', Age ='" + Age + "']";}} // Erstellen Sie eine WriteApp -Klasse: import java.io.stringwriter; import org.apache.commons.betwixt.io.beanwriter; öffentliche Klasse WriteApp {/*** Erstellen Sie ein Beispiel Bean und konvertieren Sie es in XML. */public static final void main (String [] args) löst Ausnahme aus {// Erstellen Sie zuerst einen StringWriter, wir werden sie als String StringWriter outputWriter = neu schreiben. coding = 'utf-8'?>/n "); // einen Beanwriter erstellen, der in den von uns vorbereiteten Stream geschrieben wird. Beanwriter beanwriter = neuer Beanwriter (Ausgangswriter); // konfigurieren Sie zwischen // weitere Informationen finden Sie in Java -Dokumenten oder dem neuesten Dokument beanwriter.getXmlinrospector (). getConfiguration (). Der Root Node Beanwriter.Write ("Person", New Personbean ("John Smith", 21)); // Ausgabeergebnis System.out.println (outputWriter.toString (); // Betwixt schreibt Fragmente, anstatt ein Dokument. Konvertieren Sie XML in Javabean import Java.io.stringReader; import org.apache.commons.betwixt.io.beanreader; public class readapp {public static endgültige void main (String args []) löst Ausnahme aus {// Erstellen Sie zuerst eine XML. Da dies nur ein Beispiel ist, haben wir ein Stück XML-Inhalts-StringReader xmlReader = new StringReader ("<? XML Version = '1.0' coding = 'utf-8'? Beanreader (); // reader beanreader.getXmlinrospector (). GetConfiguration (). Beanreader.registerBeanClass ("Person", PersonBean.class); // Jetzt analysieren wir XML PersonBean Person = (Personbean) beanreader.parse (xmlreader); // Ausgabeergebnis system.out.println (Person);}}}3.. Codec bietet einige öffentliche Codec -Implementierungen wie Base64, HEX, MD5, Phonetic und URLs usw.
// Base64 CODEC Private Static String codetest (String Str) {Base64 Base64 = new Base64 (); try {str = base64.EncodetoString (Str.GetBytes ("utf-8");} catch (UnnopportenEnCodingException E) {E.printStacktrace (); str;} private static void decodetest (String str) {Base64 Base64 = new Base64 (); // str = arrays.toString (Base64.DecodeBase64 (str)); str = neuer String (Base64.DecodeBase64 (str)); System.out.println ("Base64 decodiert:"+str);}4. Die Sammlungen erweitern Java.util und verarbeitet Daten ziemlich flexibel.
org.apache.commons.Collections Commons -Sammlungen Customized Set Common -Schnittstellen und Werkzeugklassen
org.apache.commons.collections.Bag Eine Reihe von Klassen, die die Bag -Schnittstelle implementieren
org.apache.commons.collections.bidimap Eine Reihe von Klassen, die Schnittstellen der Bidimap -Serie implementieren
org.apache.commons.collections.Buffer Eine Reihe von Klassen, die die Pufferschnittstelle implementieren
org.apache.commons.collections.Collection Eine Reihe von Klassen, die die Schnittstelle java.util.collection implementieren
org.apache.commons.collections.Comparators Eine Reihe von Klassen, die die Schnittstelle java.util.comParator implementieren
org.apache.commons.collections.Functors Commons -Sammlungen Customized Set von Funktionsklassen
org.apache.commons.collections.iteratoren eine Reihe von Klassen, die die Schnittstelle java.util.iterator implementieren
org.apache.commons.collectionss.keyValue implementiert eine Reihe von Klassen, die sich auf die Sammlung und die Schlüssel-/Wertezuordnung beziehen
org.apache.commons.collections.List Eine Reihe von Klassen, die die Schnittstelle java.util.list implementieren
org.apache.commons.collections.map eine Reihe von Klassen, die Kartenreihenschnittstellen implementieren
org.apache.commons.collections.Set eine Reihe von Klassen, die SET -Serien -Schnittstellen implementieren
/** * Erhalten Sie einen bestimmten Schlüssel nach dem Schlüssel, der im Set gespeichert ist Gibt "sieben"/** * Wert durch den Schlüssel erhalten * Taste durch Wert * Schalterschlüssel und Wert in MAP */bidimap bidi = new baumbidimap (); bidi.put ("Six", "6"); Bidi.get ("Six"); // zurückgegeben "6" bidi.getkey ("6"); // returns "Six" // bidi.removalue ("6"). // Entfernt das Mapping bidimap inverse = bidi.inverseBidimap (); // Gibt eine Karte mit Tasten und Werten aus, die ausgetauschtes System.OUT.println (inverse);/*** das gleiche Element in den beiden Sätzen*/list <string> list1 = neu erhalten ArrayList<String>();list1.add("1");list1.add("2");list1.add("3");List<String> list2 = new ArrayList<String>();list2.add("2");list2.add("3");list2.add("5");Collection c = CollectionUtils.retainAll(list1, list2); System.out.println (c);5. Compress Commons verpackte und komprimierte Klassenbibliotheken.
// Erstellen Sie ein komprimiertes Objekt ZiparchiveEntry -Eintrag = neu ziparchiveEntry ("compressTest"); // Die Datei zu komprimiert f = Neue Datei ("e: //test.pdf"); FileInputStream fis = new FileInputStream (f); // Die Datei komprimiert durch das OutputStream -Ziparch -Ziparch -Ziparch -Zipoutput -Zipoutput = New ZiparchivaTput. Datei ("e: //test.zip"));6. Konfiguration wird verwendet, um Konfigurationsdateien zu verarbeiten und viele Speichermethoden zu unterstützen.
1. Eigenschaftendateien
2. XML -Dokumente
3. Eigenschaftenlistendateien (.plist)
4. Jndi
5. JDBC DataSource
6. Systemeigenschaften
7. Applet -Parameter
8. Servlet -Parameter
// Geben Sie ein einfaches Beispiel für Eigenschaften an. config.save ("usergui.backup.properties); // eine Kopie Integer Integer = config.getInteger (" window.width ");7. DBCP (Datenbankverbindungspool) ist ein Datenbankverbindungspool, der sich auf den Jakarta Commons-Pool-Objektpool-Mechanismus stützt. Die Datenquelle von Tomcat verwendet DBCP.
importieren javax.sql.datasource; import Java.sql.connection; import Java.sql.statement; import Java.sql.resultset; import Java.sql.sqlexception; importieren org.apache.pool.objektpool; org.apache.commons.dbcp.connectionFactory; import org.apache.commons.dbcp.poolingDataSource; static void main (String [] args) {System.out.println ("laden JDBC -Treiber"); try {class.forname ("oracle.jdbc.driver.oracledriver");} catch (classNotfoundException E) {E.printstacktrace (). Quelle "); DataSource dataSource = setUpDataSource (" JDBC: Oracle: Thin: @LocalHost: 1521: test "); dataSource.getConnection (); System.out.println ("Erstellen von Anweisung."); stmt = conn.createstatement (); System.out.println ("Ausführung von Anweisung."); rset.getMetaData().getColumnCount();while(rset.next()) {for (int i=0;i<=numcols;i++) {System.out.print("/t" + rset.getString(i));}System.out.println("");}}catch(SQLException e) {e.printStackTrace();} finally {try {if (rset! connecturi) {// Setzen Sie die Verbindungsadresse ConnectionFactory ConnectoryFactory PoolableConnectionFactory); // PoolingDriver PoolingDataSource DataSource = new PoolingDataSource (ConnectionPool); DataSource zurückgeben;}}8. Eine Ressourcen -JDBC -Toolklassenbibliothek von DBUTILSAPache Organization. Es handelt sich um eine einfache Kapselung von JDBC, sekundäre Kapselung herkömmlicher Betriebsdatenbankklassen und kann das Ergebnis in eine Liste umwandeln. und es wirkt sich nicht auf die Leistung des Programms aus.
DBUTILS -Klasse: Startup -Klasse
ResultStHandler -Schnittstelle: Conversion Typ -Schnittstelle
MAPLISHANDLER -Klasse: Implementierungsklasse, Umsätze in die Liste umwandeln
Beanlisthandler -Klasse: Implementiert die Klasse, konvertiert Datensätze in eine Liste und stellt Datensätze in JavaBean -Typ -Objekt um
QReryRunner -Klasse: Klasse, die SQL -Anweisungen ausführt
import org.apache.commons.dbutils.dbutils; import org.apache.commons.dbutils.Queryrunner; import org.apache.commons.dbutils.handlers.beanlistHandler; Import Java.sql.connection; java.util.list; // in die Auflistung der öffentlichen Klasse Beanlists {public static void main (String [] args) {Verbindung conn = null; String url = "jdbc: mysql: // localhost: 3306/ptest"; String jdbcdriver = "com.mysql.jdbc.dbc.Driver"; String user = "; "ptest"; dbutils.loaddriver (jdbcdriver); try {conn = driverManager.getConnection (URL, Benutzer, Passwort); queryRunner qr = new queryRunner (); listenergebnisse = (list) qr.Query (conn, "select id, name from", new Beanlishand (person.classe); i++) {Person p = (Person) results.get(i);System.out.println("id:" + p.getId() + ",name:" + p.getName());}}catch (SQLException e) {e.printStackTrace();} finally {DbUtils.closeQuietly(conn);}}}public class Person{private Integer id;private String Name; // Set auslassen, Methode} import org.apache.commons.dbutils.dbutils; import org.apache.commons.dbutils.Queryrunner; java.sql.sqlexception; import java.util.list; import java.util.map; // in map in public class Maplisten {public static void main (String [] args) {Verbindung conn = null; "com.mysql.jdbc.driver"; String user = "root"; String passwart = "ptest"; dbutils.loaddriver (jdbcDriver); try {conn = driverManager.getConnection (URL, Benutzer, Passwort); queryRunner qr = new queryrunner (). Maplistandler ()); für (int i = 0; i <results.size (); i ++) {map map = (map) results.get (i); system.out.println ("id:" + map.get ("id") + ", name:" + map.get ("name");} catch (sqlexception e) {e.printstack (); {Dbutils.closequiet (conn);}}}9. Eine per E -Mail bereitgestellte Open -Source -API ist eine Verkapselung von Javamail.
//Send emails using commons email public static void main(String args[]){Email email = new SimpleEmail();email.setHostName("smtp.googlemail.com");email.setSmtpPort(465);email.setAuthenticator(new DefaultAuthenticator("username", "Passwort")); E-Mail.setsslonConnect (true); E-Mail.setFrom ("[email protected]"); E-Mail.setsubject ("testmail"); E-Mail.setmsg ("Dies ist eine Testpost ... :-)");10. FileUpload Java -Webdatei -Upload -Funktion.
// Offizielles Beispiel: //* Überprüfen Sie, ob eine Datei hochladen Boolean ismultiPart = servletFileUpload.ismultipartContent (Anfrage); // Jetzt haben wir eine Liste von Elementen // Wenn Ihre Bewerbung nahe am einfachsten Fall ist, ist die obige Verarbeitung ausreichend. Aber manchmal brauchen wir noch mehr Kontrolle. // Folgende Kontrolloptionen: // Erstellen Sie eine Fabrik für Datentafel-Elemente diskFileTemfactory factory = new diskfileItemfactory (); // Fabrikbeschränkungen Factory. ServletFileUpload (Factory); // Setzen Sie die maximale Upload-Größe Upload.Setsizemax (yourMaxRequestSize); // Alle Anforderungen Liste analysieren/ * fileItem */items = upload.ParSerequest (Request); // Erstellen Sie eine fabrik-basierte DateidiskFileTemFileMfactory-Fabrik. yourTempDirectory); // Sobald das Parsen abgeschlossen ist, müssen Sie die Liste der Elemente weiter verarbeiten. // die hochgeladenen Elemente iterator iter = items.Iterator () verarbeiten; while (iter.hasnext ()) {FileItem item = (FileItem) iter.next (); if (item.isformfield ()) {processFormField (item);} else {processUploadedFile (item);}} // Unterscheidet, ob die Daten einfache Formulardaten sind, wenn es sich processUploadedFile if (! item.isformfield ()) {String fieldname = item.getFieldName (); String Dateiname = item.getName (); String contentType = item.getContTtype (); boolean isinmemory = issinmory (); Eine Datei oder in einen Stream umwandeln // eine Datei hochladen if (writeToFile) {Datei UploadedFile = new Datei (...); item.write (UploadedFile);} else {InputStream UploaddStream = item.getInputStream (); // ... weggeladenem addestream -ordnungs -ordnungsabladung. in memory byte[] data = item.get();//...Omitted steps// If this file is really large, you may want to report to the user how much it has been transmitted to the server, so that the user can understand the upload process//Create a progress listener ProgressListener progressListener = new ProgressListener(){public void update(long pBytesRead, long pContentLength, int pItems) {System.out.println ("Wir lesen derzeit Element" + pitems); if (pcontentLength == -1) {System.out.println ("Bisher" + pByTesRead + "Bytes wurden gelesen. Read. ");}}}; Upload.setProgressListener (progresorListener);11. Es bietet eine Reihe wiederverwendbarer Client -Authentifizierung, HTTP -Statuswartung und HTTP -Verbindungsmanagementmodule.
// Methode abrufen java.io.ioxception; import org.apache.commons.httpclient.*; Org.apache.commons.httpclient.methods.getmethod; Konstruieren Sie eine Instanz von httpclient httpclient httpclient = new httpclient (); // Erstellen Sie eine Instanz von GET -Methode getMethod getMethod = new getMethod ("http://www.ibm.com"); // Verwenden Sie die vom System zur Verfügung gestellte Default -Wiederherstellungsrichtlinie, die vom System zur Verfügung gestellt wird, um das System zur Richtlinie zur Wiederherstellung bereitzustellen, die vom System zur Verfügung gestellt werden, das von dem System zur Verfügung gestellt wird, um die vom System zur Verfügung gestellten Richtlinien zur Versicherungswiederherstellung zu erhalten, die das System zur Verfügung gestellt hat, um die vom System zur Verfügung gestellten Richtlinien zur Versicherungswiederherstellung zu erhalten, die von dem System zur Verfügung gestellt werden. getMethod.getParams (). setParameter (httpMethodparams.retry_handler, neuer DefaulthttpMethodryRyHandler ()); try {// GetMethod int statusCode = httpclient.executemethod (getMethod); if (statusCode! Es ist aufgetreten, dass das Protokoll falsch ist oder der zurückgegebene Inhalt problematisch ist. getMethod.releaseconnection ();}}}} // Post -Methode importieren java.io.ioxception; import org.apache.commons.httpclient. org.apache.commons.httpclient.params.httpMethodparams; public class postableer {public static void main (String [] args) {// Konstruieren Sie eine Instanz von httpclient httpclient httpclient "http://www.oracle.com/";PostMethod postmethod = new postmethod (url); // Füllen Sie die Werte jedes Formulars FeldnamevaluePair [] data = {new namevaluepair (" id "," youusername "), neuer Namevaluepair (" passwd "," yourpwd "). postmethod.setRequestBody (Daten); // postmethod int statusCode = httpclient.executemethod (postmethod); // httpclient kann die Weiterleitung nicht automatisch bearbeiten, um Anfragen für Anfragen zu erfordern, die nachfolgende Dienste erfordern, z. HttpStatus.sc_moved_temporär) {// Die Adresse der Lenkung von Anfang an herausnehmen. {System.err.println ("Standortfeldwert ist null.");} Return;}}}12. IO ist für Java.io sehr bequem, um die Betriebsdatei zu erweitern.
// 1. Lesen Sie Stream // Standardcode: InputStream in = new URL ("http://jakarta.apache.org") .openstream (); try {InputStreamReader inr = new InputStreamReader (in); BufferedReader buf = new buferedReader (Inr). {System.out.println (Zeile);}} endlich {in.close ();} // Verwenden Sie Ioutils InputStream in = new url ("http://jakarta.apache.org") .Openstream (); try {system.println (ioutils). {Ioutils.closequiet (in);} // 2. Dateidatei lesen = neue Datei ("/commons/io/project.properties"); List line = FileUtils.readlines (Datei, "UTF-8"); // 3. Zeigen Sie den verbleibenden Speicherplatz Long freespace = fileSystems.Freespace ("C:/");13. Lang ist hauptsächlich eine Sammlung öffentlicher Tools wie Operationen auf Zeichen, Arrays usw.
// 1 Zusammenführen zwei Arrays: org.apache.commons.lang. Arrayutils // Manchmal müssen wir zwei Arrays in ein Array kombinieren, und es ist sehr bequem, Arrayutils zu verwenden. Das Beispiel lautet wie folgt: private static void testarr () {String [] s1 = new String [] {"1", "2", "3"}; String [] S2 = new String [] {"a", "b", "c"}; String [] S = (String []) Arrayutils.addall (S1, S1, S1, S2); {System.out.println (s [i]);} String st = arrayutils.toString (s); str = str.Substring (1, stridgth () - 1); ob die Zeichenfolge aus Zahlen zusammengesetzt ist (0 ~ 9). Wenn ja, kehren Sie true zurück, aber diese Methode erkennt Dezimalpunkte nicht und beachten Sie, dass Stringutils.isnumeric ("454534"); // Return true // 4. Holen Sie sich den Klassennamen system.out.println (clasutils.getShortClassName (test.class)); // Erhalten Sie den Paketnamen system.out.println (clasutils.getPackagename (test.class)); //5.Numberutils system.out.println (numnUtils.stringToint ("6")); // 6. Fünf-stellige zufällige Buchstaben und Zahlen system.out.println (randomStringutils.randomalphanumeric (5)); //7.stringescapeutils system.out.println (StringScapeTils.Secapehtml ("<html>"); // Das Ausgabeergebnis ist <html> system.out.println (StringScapes.ScapeS.Secapejava ("String"); // 8.StringsUtils, bestimmen, ob es sich um eine Weltraumcharakter -System handelt. ")); // trennen Sie den Inhalt im Array von System.out.println (Stringutils.join (Test", ")); // Zeichen zum Recht hinzufügen, die Gesamtlänge von 6 System.out.Out.println (Stringutils.RightPad (" ABC ", 6, 'T'); // Der erste Brief wird kapitalisiert. Der erste Buchstabe wird kapitalisiert. Der erste Brief wird kapitalisiert. Der erste Brief wird kapitalisiert. Der erste Brief wird kapitalisiert. Der erste Buchstabe wird kapitalisiert. Der erste Brief wird kapitalisiert. Der erste Brief wird kapitalisiert, der kapitalisiert wird System.out.println (Stringutils.capitalize ("ABC")); // löscht alle Whitespaces aus einem String alle Spaces System.out.println (Stringutils.deletEwHitespace ("ABC"); // löscht alle WhiteSpaces aus einem String -Delete -All -Spaces -System. "ba")); // bezeichnet die beiden Zeichen auf der linken System.out.println (Stringutils.Left ("ABC", 2)); System.out.println (numberUtils.stringToint ("33");14. Die Protokollierung bietet eine Java -Protokollierungsschnittstelle, die sowohl leichte Gewicht als auch auf bestimmte Protokollimplementierungstools berücksichtigt.
import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;public class CommonLogTest {private static Log log = LogFactory.getLog(CommonLogTest.class);//log print public static void main(String[] args) {log.Error ("error"); log.debug ("debug"); log.warn ("warn"); log.info ("info"); log.trace ("Trace"); System.out.println (log.getClass ());}}}}}}} 15. Validator ist ein allgemeines Überprüfungssystem, das ein Datenüberprüfungs -Framework für die Client- und Serverseite bereitstellt.
Überprüfungsdatum
// Date Überprüfung DateValidator validator = DateValidator.getInstance (); // Verify/konvertieren Datum Datum foodate = validator
Ausdrucksüberprüfung
// Setzen Sie den Parameter boolean CaseSesibal = false; String regex1 = "^([Az]*) (?: //-) ([Az]*)*$" String regex2 = "^([az]*) $"; String [] regexs = new String [] {regex1, regex1}; // validator erstellen a-validator eine validator eine validator erstellen a-validators a-validator erstellen a validators eine validator erstellen a-validator erstellen a-validators eine validator erstellen a-validator erstellen a-validators eine validator erstellen a-validator erstellen a-validators erstellen a-validators erstellen a-validators erstellen a-validators-resgexvalidator Regexvalidator (regexs, caseSensitive); // returns boolean boolean validator = validator.isvalid ("abc-def"); // Überprüfen Sie, dass die String String-resultal-result = validator.validat ("abc-def") zurückgibt.Verwenden Sie Überprüfung in Konfigurationsdateien
<form-validation> <global> <validator name="required" classname="org.apache.commons.validator.TestValidator" method="validateRequired" methodParams="java.lang.Object, org.apache.commons.validator.Field"/> </global> <formset> </formset> </form-validation> Add name verification. <form-validation> <global> <validator name="required" classname="org.apache.commons.validator.TestValidator" method="validateRequired" methodParams="java.lang.Object, org.apache.commons.validator.Field"/> </global> <formset> <form name="nameForm"> <field property="firstName" abhängig = "Erforderlich"> <arg0 key = "nameForm.firstname.displayname"/> </field> <fields Eigenschaft = "LastName" abhängig = "Erforderlich"> <arg0 key = "nameForm.lastname.displayname"/> </Formset> </form-Validation>
Überprüfungsklasse
Excelpts von org.apache.commons.validator.Requirednametest // Laden Sie die Verifizierungskonfigurationsdatei InputStream in = this.getClass (). Ich weggelassen Name name = new name (); validator validator = new Validator (Ressourcen, "nameForm"); // Setzen Sie den Parameter Validator.setParameter (validator.bean_param, name); map -resultes = null; // resultes = validator.validat (); if (results.gets ("firstname". ((Integer) results.get ("FirstName")). IntValue ();}Zusammenfassen
Das obige ist alle detaillierte Erläuterungen des Apache Commons Tools -Codes in diesem Artikel. Ich hoffe, er wird für alle hilfreich sein. Interessierte Freunde können weiterhin auf andere verwandte Themen auf dieser Website verweisen. Wenn es Mängel gibt, hinterlassen Sie bitte eine Nachricht, um darauf hinzuweisen. Vielen Dank an Freunde für Ihre Unterstützung für diese Seite!