首页 > 解决方案 > 如何使用 session.setAttribute("id", id) onclick java servlet中的按钮?

问题描述

我想在单击按钮时将 id 存储在 httpsession 中,以便我可以在另一个 servlet 中使用它。

HttpSession session = request.getSession();
<button>
   <a href = "\"http://localhost:8080/WhatASap/createConversation\""
            + "style=\"text-decoration:none\""
            + "onclick=\"session.setAttribute(\"ID\","+ ID + ")\">
        Chat 
   </a>
</button>

当我单击按钮时,httpsession 中没有设置 ID。

标签: javahtmlservletsservlet-3.0httpsession

解决方案


您不能HttpSession从 javascript 添加变量。您必须在 servlet 中执行此操作。您编写的任何内容onclick都将由客户端浏览器的 javascript 引擎执行,该引擎不了解您的服务器。


与您的情况一样,将任何变量解析为您的createConversationservlet。

<a href='http://localhost:8080/WhatASap/createConversation/?ID=<%= ID %>'>

接下来,在您的 servlet 中;

HttpSession session = request.getSession();
session.setAttribute("ID", request.getParameter("ID"));

推荐阅读