將用戶輸入的值傳遞給另一個類時出現問題。這是一個web服務,這就是爲什麼我不知道我將如何修復它,這是我第一次遇到wevservice。這是我獲取用戶輸入的代碼。將值傳遞給java中的另一個類
PlateNumberCheck.java
//PATH FOR CHECKING PLATE NUMBER
@Path("platecheck") //for the url
public class PlateNumberCheck {
public String anss;
@GET
//To get the full url : http://Ipaddress:portnumber/@path/@getPath
@Path("/check")
@Produces(MediaType.APPLICATION_JSON)
//Produces is for the response of JSON.
public String check(@QueryParam("taxi_plate_no") String taxi_plate_no){
String sagot = "";
anss = taxi_plate_no;
if(checkInput(taxi_plate_no)){
display();
sagot = JsonConstruction.JSONResponse("checked", true);
} else{
sagot = JsonConstruction.JSONResponse("checked", false, "Not in the database");
}
return sagot;
}
private boolean checkInput (String taxi_plate_no){
System.out.println("Check Input");
boolean output = false;
if(JsonConstruction.isNotNull(taxi_plate_no)){
try{
output = DatabaseConnection.checkPlate(taxi_plate_no);
} catch (Exception e){
output = false;
}
} else{
output = false;
}
return output;
}
public void display(){
System.out.println(anss);
}
}
我覺得這個類的作品。因爲你可以看到我在成功之前首先使用該方法,並且該方法包含在控制檯中輸出輸入的system.out.print。這是我第二堂課,我想把這個輸入傳遞給這個班級。
DisplayTaxiDetails.java
@Path("/displays")
public class DisplayTaxiDetails {
String plates;
@GET
@Path("taxidetails")
@Produces(MediaType.APPLICATION_JSON)
public String taxidetails(){
String taxidetails = null;
ArrayList<Objects> taxiDetailsList = new ArrayList<Objects>();
try{
PlateNumberCheck plate = new PlateNumberCheck();
plates = plate.anss;
taxiDetailsList = new ArrayConnection().getTaxiDetails(plates);
System.out.println(plates);
Gson gson = new Gson();
taxidetails = gson.toJson(taxiDetailsList);
} catch (Exception e){
e.printStackTrace();
}
return taxidetails;
}
}
正如你可以看到我所說的第一類和訪問ANSS這是存儲已輸入該類的字符串。但是當我訪問它並嘗試傳遞值時,它不起作用。我再次使用system.out.print來查看它是否打印數據,但它總是顯示爲空,我認爲來自第一類的值不會傳遞給此第二類的變量。
什麼是將用戶輸入的值傳遞給另一個類的正確方法? – Jerex
閱讀(谷歌它)有關面向對象編程的基本原理。其中之一是封裝。我並不是說這不起作用,但有更好的方法來設計這些要求。但是,正如我所說的,首先嚐試理解爲什麼你總是在這個領域變得空洞,然後設計更好。 –
那我該怎麼辦? – Jerex