java - 如何重定向按钮或链接到数据库中的每个数据?- Java网络应用程序
问题描述
我在下面有这个会话 servlet,或者至少是它的一个开始。我还没有弄清楚如何编写 html 文本以便重定向到相应的请求。
这个想法是在第一页上应该向用户显示数据库中的数据条目(资源)列表。每个条目旁边都有一个按钮,该按钮重定向到第二页,例如显示此特定条目的详细信息,仅此而已。我一直在试图弄清楚要使用什么,我尝试过使用 Http 事件处理接口和过滤器。但是,要么根本不需要它们,要么我使用不正确。
第二页还应包含一个按钮,该按钮将重定向回第一页,列出所有数据库条目。这可能是显而易见的,但我想我可以从请求中获取会话(),然后使用它返回到第一页。但是,一旦我从请求中获取会话(),接下来我该怎么做?我不能完全转发会话以返回第一页。
抱歉,如果我错误地使用了术语数据库条目。数据库条目是指数据库表中的数据。
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.SQLException;
import javax.servlet.*;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.sql.DataSource;
@WebServlet("/session")
public class SessionServlet extends HttpServlet{
private ResourceLogic _logic;
private ResourceModel rm;
@javax.annotation.Resource(name = "jdbc/web-jdbc")
private DataSource _dataSource;
public void init() {
_logic = new ResourceLogic(_dataSource);
rm = null;
}
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
PrintWriter writer = resp.getWriter();
User us = (User) req.getAttribute("user_acc");
try {
rm = new ResourceModel(_logic.getDbResource(us));
for(Resource r:rm.getResources()){
String str = "<body>" //
+ "<form method=\"get\" action=\"/session\">" //
+ "<table>"
+ "<b>"+r.get_id()+" "+r.get_name() +"</b>"
+ "<button type=\"button\" onclick=\"alert("+r.toString()+")\">Click Me!</button>"
+ "</form> <br>"
+ "</body>" ;//
writer.printf(str);
}
} catch (SQLException exception) {
exception.printStackTrace();
}
}
}
解决方案
推荐阅读
- ios - 如何将扇出数据库结构与firebase集成
- python - Pandas groupby 在多列中获取具有最大值的行
- html - 如何将表格行溢出到第二列?
- css - 仅在块中的 CSS 背景动画
- php - 使用 PHP 和 Twig 创建等待页面
- r - ggraph 根据关键字更改 geom_node_text 颜色
- docker - 如何使用主机网络运行 docker-compose?
- mysql - AWS DMS:Mariadb 10 到 Aurora MySQL 5.7 - 迁移和复制
- javascript - 如何访问对象数组中的两个单独的图像并将其分配给同一数组中的第三个对象?
- django - ModuleNotFoundError Django 视图