以下是我项目的截图:
这个程序的目的也是从我在servlet中的ArrayList中找到特定的类。您可以从左侧定义的类中搜索所需的类(即X位置的类,Y学期和Z老师)。到目前为止,使用此代码,我可以检索屏幕截图中显示的每个类:
脚本:
//Serves up the data THIS IS THE WHAT GETS THE TABLE DATA
$('#btnData').click(function() {
$("#searchAnimation").fadeTo(0,1, function(){
$.get('daoServlet', function(responseText) {
$('#dataDisp').html(responseText);
}).complete(function(){$("#searchAnimation").fadeTo(0,0);});
});
});
爪哇:
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
//String that gets returned as HTML
StringBuilder returnAsHTML = new StringBuilder();
//See if the class is closed, has a lab, or is just a regular class
for(ClassInfo classes : allClassListings)
{
//Class is full, style accordingly
if(classes.getSectionMeetingInfo().contentEquals("LEC") && classes.getSectionEnrolled().contentEquals("0"))
{
returnAsHTML.append(closedClass(classes));
}
else if(classes.getSectionMeetingInfo().contentEquals("LAB")) //These are labs, style accordingly
{
returnAsHTML.append(labClass(classes));
}
else //These are normal classes without lab components
{
returnAsHTML.append(openClass(classes));
}
}
response.setContentType("text/html");
response.setCharacterEncoding("UTF-8");
response.getWriter().write(returnAsHTML.toString());
}
我的问题是,如何开始发送用户在JSP页面上选择的数据,然后对ArrayList进行排序以找到它?我知道我可以使用<%// code%>直接将java代码注入到JSP页面中,但由于项目要求,我不能在页面本身中编写脚本,而是在外部链接。
例如,如果用户在“位置”下检查了“Springfield”,并在学期中说“夏天”,则应该在夏季生成一个包含斯普林菲尔德所有课程的表格。 我只是不知道如何/从何处开始学习如何将这些参数发送到servlet中进行搜索。
答案 0 :(得分:1)
根据the $.get()
documentation,您可以将JS对象作为第二个参数传递(在文档中称为data
)。
因此,以下示例应该为您完成:
// Do your thing to prepare them.
var param1 = "value1";
var param2 = "value2";
// Now send it as JS object.
$.get('daoServlet', { param1: param1, param2: param2 }, function(responseText) {
// ...
});
它们位于HttpServletRequest#getParameter()
通常使用的servlet中。
String param1 = request.getParameter("param1"); // value1
String param2 = request.getParameter("param2"); // value2
如果您实际上是在激活HTML <form>
,那么您还可以使用$.serialize()
发送整个表单数据,而不是手动摆弄单个输入元素的松散值。这是一个例子,假设它是<form id="search">
:
$.get('daoServlet', $('#search').serialize(), function(responseText) {
// ...
});
或
$('#search').submit(function() {
$.get('daoServlet', $(this).serialize(), function(responseText) {
// ...
});
});