将用户输入的值传递给另一个类时出现问题。这是一个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