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;
}
我有一个函数可以检查 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;
}