在一些代码中挣扎,这些代码在一个jsp中效果很好,但在另一个jsp中却没有。
使用始终正确设置的java变量。
<%
chosen4 = assetselected;
System.out.println("chosen4 value=" + chosen4);
%>
页面上有一个按钮可以刷新并成功运行-
<%
String assetselected = request.getParameter("comparedid")
%>
然后我尝试在sql:query中使用变量
<sql:query var="queryresults" dataSource="jdbc/database">
select
name
from asset
where
and asset.alerton = 1
and asset.id like <%=chosen4%>
必须使用like代替=,否则查询将永远不会返回任何内容(在工作的jsp中)。
我现在这不是世界上最好的代码,但是我对为什么<%= chosen4%>可以在一个jsp而不是另一个jsp中完美地工作感到困惑。
问候 拉尔夫
答案 0 :(得分:0)
jsp中comparedid
的第一个设置变量,由
<c:set var = "empId" value =${param.comparedid} />
然后像
这样的sql查询<sql:query var="queryresults" dataSource="jdbc/database">
select name from asset where asset.alerton = 1 and asset.id=?
<sql:param value = "${empId}" />
</sql:query>
注意:您将必须在jsp顶部使用此标签
<%@ taglib uri = "http://java.sun.com/jsp/jstl/core" prefix = "c"%>
页面并在pom.xml上添加jstl依赖