2016-05-11 32 views
-1

Wenn ich eine zehn-stellige Nummer wie 1234567891 gebe es gut funktioniert,Telefonnummer Fehler in struts2

aber warum statt 9964289813 funktioniert nicht?

jsp:

<s:textfield key="personalDetailsDTO.mobile" label="Mobile" /> 

dto:

private int mobile; 
public int getMobile() { 
    return mobile; 
} 

public void setMobile(int mobile) { 
    this.mobile = mobile; 
} 

Aktion:

public class RegisterAction extends ActionSupport{ 
    private PersonalDetailsDTO personalDetailsDTO; 
    System.out.println(personalDetailsDTO.getMobile()); 
} 

Antwort

1

In Java, die maximale Wert einer ganzen Zahl ist 2,147,483,647 (2.147.483.647 in meinem Land).

Sie versuchen, 9,964,289,813 einzufügen, das ist höher.

Das gesagt, können Telefonnummern +, (, ) und Leerzeichen enthalten ... Verwenden Sie kein numerisches Feld für eine Telefonnummer, verwenden Sie einfach einen String.

1

Das passt nicht in eine int, wie Integer.MAX_VALUE ist 2^32 - 1. Wählen Sie einen anderen Datentyp. Telefonnummern sollten sowieso keine Nummern sein, sie können Sonderzeichen enthalten und mit Nullen beginnen.