我有一些问题。我有从数据库创建列表的功能
public List<Langganan> getlistLanggananID(String kode){
System.out.println(kode);
List<Langganan> tokoList = new ArrayList();
try {
String sql = "SELECT idms_langganan, nama_langganan, alamat, kota FROM ms_langganan WHERE idms_langganan = " + "'" + kode + "'";
Connection conn = datman.logOn();
Statement st = (Statement) conn.createStatement();
ResultSet rs = st.executeQuery(sql);
/* get result from list */
while (rs.next()){
Langganan lg = new Langganan();
lg.setKodelangganan(rs.getString("idms_langganan"));
lg.setNama(rs.getString("nama_langganan"));
lg.setAlamat(rs.getString("alamat"));
lg.setKota(rs.getString("kota"));
tokoList.add(lg);
}
} catch (Exception se) {
Logger.getLogger(MasterLangganan.class.getName()).log(Level.SEVERE, null, se);
java.lang.System.out.println("Error on Function MasterLangganan Show List: " + se.toString());
}
return tokoList;
}
基于特定ID的it返回列表-->kode
然后我通过servlet 执行该功能
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try {
String kode = request.getParameter("kode");
MasterLangganan ml = new MasterLangganan();
ml.getlistLanggananID(kode);
/* sending list to JSP page */
request.setAttribute("listlangganan",ml.getlistLanggananID(kode));
} catch(Exception es){
Logger.getLogger(setSettings.class.getName()).log(Level.SEVERE, null, es);
}finally {
java.lang.System.out.println("setSettings Servlet has been executed");
}
}
但是如何将结果从servlet发送到jsp页面呢?因为我在jsp页面上得到的只是一个错误
这是JSP页面
<div class="panel-heading">
<h3 class="panel-title"><i class="fa fa-bar-chart-o"></i> Tambah Langganan</h3>
</div>
<%
MasterLangganan ml = new MasterLangganan();
ml.getlistLanggananID("000");
%>
<div class="panel-body">
<form name="system_settings" method="POST" action="<%=request.getContextPath() %>/setDataLangganan">
<div class="col-lg-6">
<p>Nama</p>
<input type="text" class="form-control" name="nama_langganan" readonly="readonly" id="nama_langganan" value="<% ((Langganan)request.getAttribute("listlangganan")).getNama(); %>">
<p>Alamat</p>
<input type="text" class="form-control" name="alamat" readonly="readonly" id="alamat" value="<% ((Langganan)request.getAttribute("listlangganan")).getAlamat(); %>">
<p>Kota</p>
<input type="text" class="form-control" name="kota" readonly="readonly" id="kota" value="<% ((Langganan)request.getAttribute("listlangganan")).getKota(); %>">
<p>Sales Area</p>
<input type="text" class="form-control" name="salesarea" readonly="readonly" id="salesarea" value="<% ((Langganan)request.getAttribute("listlangganan")).getSalesArea(); %>">
</div>
<div class="col-lg-6">
<p>Actions</p>
<input type="button" class="btn btn-info" value="Edit" name="edit" id="edit">
<input type="button" class="btn btn-warning" value="Cancel" name="cancel" id="cancel">
<input type="submit" class="btn btn-danger" value="Save" name="save" id="submit" style="display: none;" >
</div>
</form>
我只需要把列表放在文本字段中,这样它就可以编辑了。
怎么做才合适?
提前谢谢。
String kode = request.getParameter("kode");
在你的帖子中你提到kode是一个id,所以request.getParameter("kode");
不起作用让它工作做一个像这样的隐藏字段
<input type ="hidden" name="kode" value="<%=values you want to pass%>"> and submit this hidden field along with the form.Then only you can receive using `request.getParameter()`
从Servlet向JSP 传输数组列表
您需要转发到JSP页面
request.setAttribute("listlangganan",ml.getlistLanggananID(kode));
request.getRequestDispatcher("MyJSP.jsp").forward(request,response);
在MyJSP.jsp
<c:forEach items="${listlangganan}" var="item">
<!--Here populate the data to table or div-->
</c:forEach>