java- 如何检查 JSP 页面中是否存在值?

java- how to check if value exists in JSP page?

我有一个函数可以检查 MYSQL 中的 table 中是否存在特定记录。

下面是这段代码:

public String get_value(long nodeid,String ts) {
    try {
        String sql="Select URL FROM urllink WHERE URL='f0="+nodeid+"&ts="+ts + "'";

        em.createNativeQuery(sql).getSingleResult();
        if (em == null) {
            throw new Exception("could not found URL object.");
        }
      //  return 1;

    } catch (Exception e) {
        e.printStackTrace();



    }
   return null;
}

在我的 JSP 页面中,我将调用此函数并将参数传递给它。

String v=fileFacade1.get_value(fileID,date);

  if(v !=null ){ 

// if the records exist in the table, do this

}

我正在尝试调用该函数,因此如果 table 中有记录,则输入 if 语句并执行某些操作,但从我调试的内容来看,v 的值始终为空,但有来自 singleresult.

的记录

我是不是做错了什么?

编辑:

这是现在的样子:

public String get_value(long nodeid,String ts) {
    try {
        String sql="Select URL FROM urllink WHERE URL='f0="+nodeid+"&ts="+ts + "'";
        if (em == null) {
            throw new Exception("could not found URL object.");
        }
        em.createNativeQuery(sql).getSingleResult();

        return (String)em.createNativeQuery(sql).getSingleResult();

      //  return 1;

    } catch (Exception e) {
        e.printStackTrace();



    }
  return null;
}

你需要returngetSingleResult()

return (String)em.createNativeQuery(sql).getSingleResult();

Execute a SELECT query that returns a single result.

您的方法总是 return 无效。

此外,也许这只是一个片段,您的实际代码中缺少一些东西,但是 em 什么时候实例化? (我假设它是一个 class 变量)

最后,您调用了 getSingleResult 但没有对实际结果做任何事情,这是您应该做的 return,如 @user7294900 的回答

所示
return (String) em.createNativeQuery(sql).getSingleResult();

只需将您的代码包装在 if else 条件中,我的意思是当 em 为 null 或 return 单个字符串时抛出异常,如下面的代码片段:

public String get_value(long nodeid,String ts) {
    try {
        String sql="Select URL FROM urllink WHERE URL='f0="+nodeid+"&ts="+ts + "'";
        if (em == null) {
            throw new Exception("could not found URL object.");
        }
        else{
           return (String)em.createNativeQuery(sql).getSingleResult();
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
   return null;
}