在JSP页面中,我们可以使用表单(form)来提交修改后的商品名称。以下是实现这一功能的核心代码片段:
首先,在JSP页面中创建一个表单,用于输入新的商品名称并提交到服务器。
<form action="modifyGoodsName" method="post">
<input type="hidden" name="goodsId" value="${goods.id}">
修改商品名称: <input type="text" name="newName" value="${goods.name}">
<input type="submit" value="提交">
</form>
在这个表单中,我们有一个隐藏字段(hidden field)用于发送商品ID,一个文本输入框用于输入新的商品名称,并且有一个提交按钮用于发送表单数据。
然后,在Java代码中,我们需要编写一个Servlet来处理这个表单提交的数据,并更新数据库中的商品名称。
@WebServlet("/modifyGoodsName")
public class ModifyGoodsNameServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String goodsId = request.getParameter("goodsId");
String newName = request.getParameter("newName");
// 调用业务逻辑层的方法来更新商品名称
GoodsService goodsService = new GoodsServiceImpl();
boolean isUpdated = goodsService.updateGoodsName(goodsId, newName);
// 根据更新结果,设置响应的页面
if (isUpdated) {
response.sendRedirect("goods_info.jsp?id=" + goodsId);
} else {
response.sendRedirect("error.jsp");
}
}
}
在这个Servlet中,我们从请求中获取商品ID和新的商品名称,然后调用业务逻辑层的方法来更新数据库中的商品名称。根据更新是否成功,我们将用户重定向到商品详情页或错误页。
最后,在业务逻辑层的GoodsServiceImpl类中,我们实现updateGoodsName方法:
public class GoodsServiceImpl implements GoodsService {
public boolean updateGoodsName(String goodsId, String newName) {
// 执行数据库更新操作,更新商品名称
// 这里需要使用JDBC或者ORM框架来实现对数据库的操作
// 返回操作是否成功
}
}
这个方法将包含用于实际更新数据库中商品名称的代码。实现这个方法需要使用JDBC或者ORM框架,并根据实际情况进行调整。
以上代码仅为示例,实际实现时需要根据项目的具体需求和数据库设计进行相应的调整。