【问题标题】:Get & set in Java returns null valueJava中的获取和设置返回空值
【发布时间】:2016-09-07 06:16:10
【问题描述】:

如果问题非常基本,我提前道歉,但我是初学者。

如何从一个 servlet(java) 文件中获取一个值到另一个。我能够在“A”java文件上打印变量(strDateOfPurchase)值,但在“B”上打印会给出空值,这进一步给了我java.text.ParseException。

这是在“A”java文件中获取和设置的方式。

String strDateOfPurchase = pr.getQualifiedParameter("DOP");

getQuoteABCDO.setStrDateOfPurchase(strDateOfPurchase);

....................... 这就是它在“B”java文件中的定义方式。打印空值 ..................................

String strDateOfPurchase = null; 

getRevisedQuoteABCDO.setStrABCVehicleDateOfPurchase(strDateOfPurchase);

getQuoteABCDO.getStrDateOfPurchase(); 

【问题讨论】:

  • 你正在初始化 String strDateOfPurchase = null;使用null,因此它将设置为null并打印null。请解释您的确切流程,您将如何使用其他 servlet 等
  • 您需要使用 session.setAttribute("key" , "yourstrdatepurchase") 在文件 A 中设置会话属性,然后使用 session.getAttribute("key"); 在文件 B 中获取此值。
  • @JekinKalariya 将其转化为答案。另外:(1)servlet 不应该使用字段,所有在方法本身内部处理的东西:doGet/doPost 等。 (2) java中的命名约定不使用匈牙利符号(类型前缀如str)。

标签: java jsp servlets nullpointerexception get


【解决方案1】:

如果您想在会话中访问您的字段,则需要将其设置为 servlet 会话属性,如下所示。

在 doGet 或 doPost 中带有 HttpServletRequest 属性

request.getSession().setAttribute("key","value");

在您的其他 servlet B 中,您需要像这样访问它

request.getSession().getAttribute("key")

如果您希望它适用于任何其他范围,例如应用程序或请求,您需要相应地设置它,请参阅http://docs.oracle.com/javaee/6/tutorial/doc/gjbbk.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多