我正在尝试编写一个从数据库生成产品列表的代码,目标是当您单击搜索按钮时,满足搜索的产品列表会显示在特定DIV上(我有鉴于div为id)。我尝试使用结合javascript和java(并且失败)的平庸方法。 我想在点击搜索按钮时运行第二个scriplet(我在代码中标记了它),以便 div1 中的内容被这些替换,但我不知道如何重定向结果到div1,并且由于某种原因它在运行期间总是显示空输入这是我当前的代码(连接等由自定义bean处理)对不起我是编程新手,但如果可能的话请给出具体步骤:
<br><br>
<div class ="col-sm-4">
<label> Search By ID </label>
<br>
<input name ="s1" id="e1" type ="text" class ="input-lg" placeholder= "search ID"/>
</div>
<div id="div1">
<%
Set rs = Etn.execute("select * from products");
while(rs.next()){
%><div class="big"><label><%
out.write(rs.value("id")+"<br>");
out.write (rs.value("image_name")+"<br>");
out.write(rs.value("image_actual_name")+"<br>");
out.write(rs.value("product_type")+"<br><br>");
%></label><br><input type="checkbox" /></div><%
}
%>
</div>
<% // this one-->>
if(request.getParameter("b1")!=null){
String abc=request.getParameter("s1");
if(abc==null){}
else{
Set rs2 = Etn.execute("select * from products where id = '"+abc+"'");
if(rs2.next()){
out.write(rs2.value("id")+" ");
out.write (rs2.value("image_name")+"<br>");
out.write(rs2.value("image_actual_name")+" ");
out.write
(rs2.value("product_type")+"<br><br>");
}
}
}
%>
答案 0 :(得分:1)
我会用不同的方法。生成搜索结果的scriptlet应该位于单独的JSP-File中。然后,通过AJAX,您可以向服务器创建不同的请求,例如div1
,并修改服务器以使用之前创建的JSP对此做出响应。在此生成的HTML中,应该只有<div>
的新内容,然后您可以将其直接插入jQuery.fn.dataTableExt.oApi.fnStandingRedraw = function(oSettings) {
if(oSettings.oFeatures.bServerSide === false){
var before = oSettings._iDisplayStart;
oSettings.oApi._fnReDraw(oSettings);
// iDisplayStart has been reset to zero - so lets change it back
oSettings._iDisplayStart = before;
oSettings.oApi._fnCalculateEnd(oSettings);
}
// draw the 'current' page
oSettings.oApi._fnDraw(oSettings);
};
$(document).ready(function() {
var table = $('#example').dataTable()
table.fnStandingRedraw();
} );
。