Ich möchte Code in jsp, um eine eindeutige ID ab 1000 zu generieren. Welchen Datentyp kann ich dafür verwenden, und wie man darüber gehen. Kann jemand bitte giude me......
Antworten
Zu viele Anzeigen?Wenn Sie eine zufällige ganze Zahl innerhalb eines bestimmten Bereichs erzeugen wollen, können Sie die folgenden Schnipsel verwenden:
public int generateRandomNumber(int start, int end ){
Random random = new Random();
long fraction = (long) ((end - start + 1 ) * random.nextDouble());
return ((int)(fraction + start));
}
Um zum Beispiel eine zufällige ganze Zahl zwischen 1000 und 8888 zu erhalten, können Sie generateRandomNumber(1000, 8888);
Wenn Sie den gesamten Java-Code in einer JSP schreiben wollen (was ich allerdings nicht vorschlage), können Sie eine JSP-Seite wie diese erstellen und nach jeder Aktualisierung eine zufällige Ganzzahl erhalten.
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<%@ page import="java.util.Random"%>
<%!
public int generateRandomNumber(int start, int end ){
Random random = new Random();
long fraction = (long) ((end - start + 1 ) * random.nextDouble());
return ((int)(fraction + start));
}
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>TEST RANDOM NUMBER</title>
</head>
<body>
<h1>Generate Random Number:<%=generateRandomNumber(1000,8888)%></h1>
</body>
</html>
Sie können verwenden java.util.Random
, Verwendung nextInt()
Methode und fügen Sie einfach 1000
zu, wenn Sie wollen, dass es von 1000
können Sie einfach das erste Nein als 1000
Siehe auch
In all diesen Antworten geht es um Zufallszahlen - der OP fragt nach eindeutigen Zahlen. Bei der Verwendung von Zufallszahlen gibt es immer noch die Möglichkeit von Duplikaten (auch wenn diese Chance zugegebenermaßen gering ist).
Eine einfache Möglichkeit, eine eindeutige Nummer zu erhalten, wäre eine Klasse mit einer statischen synchronisierten Methode, die einen statisch deklarierten Zähler erhöht und diesen zurückgibt. Setzen Sie den Zähler so, dass er bei 1000 beginnt.
Ich würde dies in einer Java-Klasse und nicht in JSP implementieren. Wie Jogar bereits erwähnt hat, kann die Implementierung von Roh-Java in einer JSP schnell aus dem Ruder laufen.
Wenn Ihre Anwendung am Ende auf mehr als einer JVM läuft (z. B. in einem Anwendungsserver-Cluster) und die Nummer für den gesamten Cluster eindeutig sein muss, funktioniert diese Lösung nicht. In diesem Fall müssen Sie einen externen Zähler verwenden, z. B. die oben erwähnte datenbankbasierte Lösung.