数据没有插入到java servlet表中?
我想找出这段代码的问题所在。当我填写表单并按下保存按钮时,页面会像刷新一样闪烁,不会出现错误和数据插入 我有一个工作表,它扩展了这个表上的类。我使用了多对一关系,所以我不知道错误在哪里 jsp文件输入数据没有插入到java servlet表中?,java,servlets,Java,Servlets,我想找出这段代码的问题所在。当我填写表单并按下保存按钮时,页面会像刷新一样闪烁,不会出现错误和数据插入 我有一个工作表,它扩展了这个表上的类。我使用了多对一关系,所以我不知道错误在哪里 jsp文件输入 <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <%@page import="eshop.model.Categor
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@page import="eshop.model.Category"%>
<%@page import="java.util.List"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<jsp:include page="header.jsp" />
<body>
${msg}
<div>
<div style="float:left;width:200px">
<jsp:include page="menu.jsp" />
</div>
<div style="float:left">
<form action="ProductController" method="post">
<input type="hidden" name="action" value="add"/>
<table>
<tr>
<td>Product ID</td>
<td>
<input type="text" name="pid"/>
</td>
</tr>
<tr>
<td>Product Name</td>
<td><input type="text" name="pname" /></td>
</tr>
<tr>
<td>Category Id</td>
<td>
<%
List<Category> aList = (List) request.getAttribute("clist");
%>
<select name="cat">
<%
for(Category c : aList){
%>
<option value="<%out.println(c.getCatId());%>">
<%out.println(c.getCatName() ); %>
</option>
<% } %>
</select>
</td>
</tr>
<tr>
<td>Supplier ID</td>
<td><input type="text" name="sid" /></td>
</tr>
<tr>
<td>Unit Price</td>
<td><input type="text" name="up" /></td></tr>
<tr>
<td>Quantity</td>
<td><input type="text" name="qua"/></td>
</tr>
<tr>
<td>Units in Stock</td>
<td> <input type="text" name="uis"/></td>
</tr>
<tr>
<td>Units on Order</td>
<td>
<input type="text" name="uoo"/></td>
</tr>
<tr><td>Reorder</td>
<td>
<input type="text" name="rol"/></td></tr>
<tr>
<td><input type="reset" value="Clear" /></td>
<td><input type="submit" value="save" /></td>
</tr>
</table>
</form>
</div>
</div>
</body>
</html>
这是服务代码,我将其扩展到了用于其他表的base
public class ProductServices extends Base {
public void addProduct(Products pro){
save(pro);
}
您应该使用响应设置响应对象,而不是请求对象 请参阅ProductController类中ProcessRequest()的最后几行
除非这是转发到另一个请求,因为它可能是(但我在这里看不到代码?什么错误?没有错误,就像刷新一样。这一行添加到完整的servlet代码中:受保护的void doGet(HttpServletRequest-request,HttpServletResponse-response)抛出ServletException,IOException{processRequest(request,response);}受保护的void doPost(HttpServletRequest请求,HttpServletResponse响应)引发ServletException,IOException{processRequest(请求,响应);}由于条件(添加而不是保存操作)未设置clist。另外,您没有在jsp中显示您在请求中设置的消息。我已更新了代码..clist工作正常我从另一个表的下拉列表中获取数据问题是,当我选择dropdown并获取所有字段并按save时,数据会从字段中消失,而不显示任何错误!我没有看到它被更新,它仍然没有像在add块中那样被设置。查看下面的
}else if(action.equalsIgnoreCase(“save”){
并搜索clist。下拉列表依赖于此来填充。在clist中,我从数据库获取数据,并在下拉列表中将其获取到jsp页面,但在“save”中,我在插入时将其插入数据库shd display masg recored saved。
@Entity
@Table (name="products")
public class Products implements Serializable{
@Id
@Column(name="product_id")
private int Pid;
@Column(name="product_name")
private String productName;
@Column(name="supplierid")
private int supplierId;
@ManyToOne
@JoinColumn(name="categoryid")
private Category catid;
@Column(name="quantity_per_unit")
private String quntitypunit;
@Column(name="unit_price")
private float unitPrice;
@Column(name="unitinstock")
private int unitsInStock;
@Column(name="unitonorder")
private int unitsOnOrder;
@Column(name="reorderlevel")
private int reorderLevel;
public String getProductName() {
return productName;
}
public void setProductName(String productName) {
this.productName = productName;
}
public int getSupplierId() {
return supplierId;
}
public void setSupplierId(int supplierId) {
this.supplierId = supplierId;
}
public Category getCatid() {
return catid;
}
public void setCatid(Category catid) {
this.catid = catid;
}
public String getQuntitypunit() {
return quntitypunit;
}
public void setQuntitypunit(String quntitypunit) {
this.quntitypunit = quntitypunit;
}
public float getUnitPrice() {
return unitPrice;
}
public void setUnitPrice(float unitPrice) {
this.unitPrice = unitPrice;
}
public int getUnitsInStock() {
return unitsInStock;
}
public void setUnitsInStock(int unitsInStock) {
this.unitsInStock = unitsInStock;
}
public int getUnitsOnOrder() {
return unitsOnOrder;
}
public void setUnitsOnOrder(int unitsOnOrder) {
this.unitsOnOrder = unitsOnOrder;
}
public int getReorderLevel() {
return reorderLevel;
}
public void setReorderLevel(int reorderLevel) {
this.reorderLevel = reorderLevel;
}
public int getPid() {
return Pid;
}
public void setPid(int pid) {
Pid = pid;
}
}
public class ProductServices extends Base {
public void addProduct(Products pro){
save(pro);
}