使用dateParam进行JSTL查询

问题描述 投票:0回答:1

我正在尝试在数据非常有限的JSP上返回一个简单的查询,比如返回大约20-25行。

我对使用JSTL有些新意,但我想在JSP中使用标签,例如var =“{time_req_date}”替换scriptlet或request.getParamter变量吗?

<c:set var="time_req1" value="<=${time_req_date}>"/>
<c:set var="time_req2" value="<=${time_req_date2}>"/>
<sql:query var="sqlresult" sql="select * FROM FORM_REDUCVU WHERE 
to_date(TIME_REQ,'mm/dd/yyyy') >= ? AND to_date(TIME_REQ,'mm/dd/yyyy') 
<=  ?  ORDER BY ID DESC" maxRows="25" dataSource="jdbc/myoracledev">
<sql:param value="1110484" ></sql:param>
</sql:query>

我从搜索表单页面获得了两个文本字段,而我只是想要返回该数据。我甚至不确定我是否需要使用格式标记lib来表示日期。也许我是,但如果你能指出我正确的方向,我会很感激。我意识到这些数据通常不应该放在JSP中,我正在构建一个单独的DAO类来划分代码。就短期而言,我想知道缺少什么或不正确。

错误似乎意味着以下内容:

18-Feb-2019 11:57:32.502 SEVERE [http-nio-20000-exec-6] 
org.apache.catalina.core.StandardWrapperValve.invoke Servlet.service() 
for servlet [jsp] in context with path [/useragent] threw exception 
[javax.servlet.ServletException: javax.servlet.jsp.JspException: select 
* FROM FORM_REDUCVU WHERE to_date(TIME_REQ,'mm/dd/yyyy') >= ? AND 
to_date(TIME_REQ,'mm/dd/yyyy') <=  ?  ORDER BY ID DESC: Missing IN or 
OUT parameter at index:: 2] with root cause
java.sql.SQLException: Missing IN or OUT parameter at index:: 2

谢谢!

java jsp jstl jstl-functions
1个回答
1
投票

这是抱怨,因为你说有两个参数(问号),但你没有提供两者的价值。

© www.soinside.com 2019 - 2024. All rights reserved.