Web.xml:
<dwr> <allow> <create creator="new" javascript="OperaDAO">
<param name="class" value="dao.OperationDAO"/>
</create> <create creator="new" javascript="MakerBiz" scope="script">
<param name="class" value="biz.MakerBiz" />
</create>
<create creator="new" javascript="VtypeBiz">
<param name="class" value="biz.VtypeBiz" />
</create> <convert match="entity.Maker" converter="bean">
<param name="include" value="MId,Lcode,Mcode,Vcode,Brand,Model,VType,Vtypepro" />
</convert>
</allow></dwr>
dao:
public List<Maker> getMakerByMcode(String strMcode){
List<Maker> lists = new ArrayList<Maker>();
String strSql = "select * From Maker where Mcode='"+strMcode+"'";
Connection connection = null;
Statement stmtStatement = null;
ResultSet rSet = null;
try {
connection = ConnectionManager.getConn();
stmtStatement = connection.createStatement();
rSet = stmtStatement.executeQuery(strSql);
while (rSet.next()) {
lists.add(get(rSet));
}
} catch (Exception ex) {
System.out.println(ex.getMessage());
} finally {
ConnectionManager.close(rSet, stmtStatement, connection);
}
return lists;
}biz:public List<Maker> getMakerByMcode(String strMcode){
return dao.getMakerByMcode(strMcode);
}Web页面:<script type="text/javascript">
var makerCache = { };
function init() {
// 当发出ajax请求后,页面显示的提示等待信息;
DWRUtil.useLoadingMessage("loading.....");
MakerBiz.getMakerByMcode(
$("Manufacturer").value,
function(data){
alert(data);
alert(data.Brand);
alert(data.Model);
alert(data.VType);
alert(data.Vtypepro);
alert(data.Lcode);
alert(data.Vcode);
makerCache=data;
fillTable(data);
});
}
var cellFuncs = [
function(data) { return data.Brand; },
function(data) { return data.Model; },
function(data) { return data.VType; },
function(data) { return data.Vtypepro; },
function(data) { return data.Lcode; },
function(data) { return data.Vcode; },
function(data) { return "<input type='button' value='Delete' onclick='Delete("+data.MId+")'/>";},
function(data) { return "<input type='button' value='Edit' onclick='Edit("+data.MId+")'/>";
}
];
function fillTable(data){
// 填充表格
dwr.util.addRows( "makerBody",data , cellFuncs, { escapeHtml:false }); //html内容不输出
}
</script><tbody id="makerBody">
<tr>
<th>
</th>
。。 </tr>
</tbody>
<dwr> <allow> <create creator="new" javascript="OperaDAO">
<param name="class" value="dao.OperationDAO"/>
</create> <create creator="new" javascript="MakerBiz" scope="script">
<param name="class" value="biz.MakerBiz" />
</create>
<create creator="new" javascript="VtypeBiz">
<param name="class" value="biz.VtypeBiz" />
</create> <convert match="entity.Maker" converter="bean">
<param name="include" value="MId,Lcode,Mcode,Vcode,Brand,Model,VType,Vtypepro" />
</convert>
</allow></dwr>
dao:
public List<Maker> getMakerByMcode(String strMcode){
List<Maker> lists = new ArrayList<Maker>();
String strSql = "select * From Maker where Mcode='"+strMcode+"'";
Connection connection = null;
Statement stmtStatement = null;
ResultSet rSet = null;
try {
connection = ConnectionManager.getConn();
stmtStatement = connection.createStatement();
rSet = stmtStatement.executeQuery(strSql);
while (rSet.next()) {
lists.add(get(rSet));
}
} catch (Exception ex) {
System.out.println(ex.getMessage());
} finally {
ConnectionManager.close(rSet, stmtStatement, connection);
}
return lists;
}biz:public List<Maker> getMakerByMcode(String strMcode){
return dao.getMakerByMcode(strMcode);
}Web页面:<script type="text/javascript">
var makerCache = { };
function init() {
// 当发出ajax请求后,页面显示的提示等待信息;
DWRUtil.useLoadingMessage("loading.....");
MakerBiz.getMakerByMcode(
$("Manufacturer").value,
function(data){
alert(data);
alert(data.Brand);
alert(data.Model);
alert(data.VType);
alert(data.Vtypepro);
alert(data.Lcode);
alert(data.Vcode);
makerCache=data;
fillTable(data);
});
}
var cellFuncs = [
function(data) { return data.Brand; },
function(data) { return data.Model; },
function(data) { return data.VType; },
function(data) { return data.Vtypepro; },
function(data) { return data.Lcode; },
function(data) { return data.Vcode; },
function(data) { return "<input type='button' value='Delete' onclick='Delete("+data.MId+")'/>";},
function(data) { return "<input type='button' value='Edit' onclick='Edit("+data.MId+")'/>";
}
];
function fillTable(data){
// 填充表格
dwr.util.addRows( "makerBody",data , cellFuncs, { escapeHtml:false }); //html内容不输出
}
</script><tbody id="makerBody">
<tr>
<th>
</th>
。。 </tr>
</tbody>
alert(data.Brand); 返回 undefined
alert(data.Model); 返回 undefined
alert(data.VType); ........
alert(data.Vtypepro); .........
alert(data.Lcode); .........
alert(data.Vcode); ........
.
alert(data[1]); 返回的是[object Object]alert(data[1][1]): undefinedalert(data[1][Brand]): 返回 Brand 未定义我想是不是配置哪错了,我也是才学的,请指教
while(rs.next){
list.add(rs.getString("Brand"));
list.add(rs.getString("Model"));
......
}jsp页面:
for(var i=0;i<data.length;i++){
alert(data[i]);
}你也可以写个bean嘛,把结果集的内容放到bean里,再把每次的bean放到list中,这样jsp页面就可以根据你的bean里面的属性名取值了
private static Maker get(ResultSet rs) throws SQLException {
Maker item = new Maker();
item.setMId(rs.getInt("MId"));
item.setLcode(rs.getString("Lcode"));
item.setMcode(rs.getString("Mcode"));
item.setVcode(rs.getString("Vcode"));
item.setBrand(rs.getString("Brand"));
item.setModel(rs.getString("Model"));
item.setVType(rs.getString("VType"));
item.setVtypepro(rs.getString("Vtypepro"));
return item;
}
entity:
package entity;public class Maker {
private int MId;
private String Lcode;
private String Mcode;
private String Vcode;
private String Brand;
private String Model;
private String VType;
private String Vtypepro;
public String getVType() {
return VType;
}
public void setVType(String type) {
VType = type;
}
get,set方法。
}至于:
for(var i=0;i <data.length;i++){
alert(data[i]);
}
返回的是N个
[object Object]
while(rs.next){
list.add(rs.getString("Brand"));
list.add(rs.getString("Model"));
......
} jsp页面:
for(var i=0;i <data.length;i++){
alert(data[i].Mcode); /这样些就可以了
}
<script type="text/javascript" src="/Cars/dwr/engine.js"></script> <script type="text/javascript" src="/Cars/dwr/util.js"></script>
这个事JSP页面引入的
alert(data.MId);返回正常
alert(data.VType);返回正常其他属性都返回undefined...
奇怪
高手,快来啊
http://topic.csdn.net/u/20090906/13/5b559ed3-1847-44da-a12d-1785c7062bd9.html?seed=319138375&r=59615050#r_59615050
总是读不出list中的值,但是在java方法里确实能取到值,页面调用时就返回undefined!