我有一个使用JSP + JavaScript + Servlets的Java项目,在JavaScript中有一个函数可以在我的数据库中找到一些记录。找到这条记录后,我的函数返回一些值,当它没有时,我的函数返回一条消息。现在我需要另一个函数来从我的数据库中返回几个字段,我不知道是谁。我对JavaScript和JSP不是很熟悉 编辑:我做了一些改变
这是我的JSP代码的一部分:
<%
HashMap row = new HashMap();
%>
<tr>
<td>
<input type='text' id="noeco" name="noeco" size=5 maxlength=5 onkeyup="find_noeco_s(noeco,row);">
<span name="exists" id="exists" readonly="readonly" style="width: 200px" value='{row.get("exists")}'></span></input>
</td>
</tr>
<tr>
<td>
<input type='text' id="matric" name="matric" readonly="readonly" value="{row.get('matri')}"></input>
</td>
</tr>
<tr>
<td>
<input type='text' id="marca" name="marca" readonly="readonly" value="{row.get('marca')}"></input>
</td>
</tr>
这是我的JavaScript函数“find_noeco_s”:
function find_noeco_s(noeco,row){
objsal = row;
if(window.XMLHttpRequest)
ajax = new XMLHttpRequest();
else
ajax = new ActiveXObject("Microsoft.XMLHTTP");
ajax.onreadystatechange = funcionCallback;
ajax.open("GET", "/processEco.jsp?noeco="+noeco.value, true);
ajax.send("");
}
这是我的JSP processEco:
String noeco = request.getParameter("noeco");
String exists="";
String matri= "";
HashMap row = new HashMap();
try{
PreparedStatement ps = PV.prepareStatement("select * from vehicles where econom=?");
ps.setString(1, noeco);
ResultSet rs = ps.executeQuery();
if(rs.next()){
exists= rs.getString("dstipveh");
matri = rs.getString("matr");
marca= rs.getString("marca");
row.put("exists", exists);
row.put("matr", matr);
row.put("marca", marca);
}else{
exists= "DOES NOT EXISTS";
row.put("exists", exists);
}
%>
<%=row%>
<%
}finally{}
%>
但我只得到一个值(存在)。就像我说的,我对JavaScript和JSP不太熟悉。那么,我怎样才能返回几个值并在我的JSP中显示这些值,就像我只使用一个值一样?
答案 0 :(得分:0)
根据您的问题要求,将所有字段添加到对象中,并从方法调用中返回该对象。
例如:
Class MyReturnTypeData {
private String exists;
private String matr;
private String marca;
....
}
答案 1 :(得分:0)
一种方法是使用hashmap。
HashMap row = new HashMap();
if(rs.next()){
exists= rs.getString("dstipveh");
matri = rs.getString("matr");
marca= rs.getString("marca");
row.put("exists", exists);
row.put("matr", matr);
row.put("marca", marca);
}
else
{
exists= "DOES NOT EXISTS";
row.put("exists", exists);
}
return row;
然后检索值
<%
if (row.get("exists").equals("DOES NOT EXISTS"))
{
out.println(row.get("exists"));
}
else
{
out.println(row.get("exists"));
out.println(row.get("matr"));
out.println(row.get("marca"));
}
%>