javascript - 单击链接后如何设置 session 属性?

标签 javascript jsp session session-variables setattribute

我有一个 jsp 页面,其中在循环内创建了多个链接。所有链接都准确地指向另一个 jsp 页面。在第二个jsp页面中,我需要找出在第一个jsp页面中单击了哪个链接。我怎样才能做到这一点 ?单击第一个jsp页面中的链接后,有什么方法可以立即设置一个属性,以便在第二个页面中我可以获取该属性来确定单击了哪个链接?

这是我的循环代码,其中包含链接 -- http://pastebin.com/J3JGu5jD

<%  
    System.out.println("Going inside loop");
    for(int i = 0; i < n_row ; i++)
    {
        course_name = dbManager.get_course_name(teachers_course_id_list[i]);
        course_id = teachers_course_id_list[i];
%>
        table = '<tr><td> <a href="MarkDistribution1.jsp?course_id_QSparam             
        ='+"<%=course_id%>"+'">'+ "<%=course_id%>" + ': ' + "<%=course_name%>"+'</td>  
        </a></tr>'
        document.write(table);
<%
    }
%>

PS:还有一个问题。我有一个字符串变量链接。这是将其分配给 javascript 变量的正确方法 --- javascript_variable = <%=link%> 吗?

最佳答案

请不要使用 scriptlet。你可以使用 JSTL foreach 标签

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

然后在jsp中使用循环,您可以使用GET方法来知道点击了哪个链接

<c:foreach items="${yourarray}" var="link">

     <a href="myController?link=1"><c:out value="${link}"/></a>

</c:foreach>

并在你的 Controller 中捕获参数

doGet(HttpServletRequest request,HttpServletResponse response){


   String theLink="";
   if(request.getParameter("link")!=null){
      theLink= request.getParameter("link");
      request.getSession(true).setAttribute("clickedLink",theLink);
    }
  }

关于javascript - 单击链接后如何设置 session 属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25077170/

相关文章:

javascript - 当我在 PHP 中包含 jQuery slider /横幅时,jQuery 日期选择器不起作用

javascript - 我可以让一个属性在 vue v-for 中只出现一次吗

java - 用户注册时如何发送特定电子邮件 ID 的自动回复?

java - 如何将对象从 servlet 传递到调用 JSP

php - 你如何在 wordpress 中使用 session 变量?

javascript - 逐行读取 Node 串口流

javascript - 在php中生成的动态表中更改td的颜色

javascript - 如何将 JQuery 添加到从 ajax 调用加载的 html 中?

c# - 将 session 转换为 int 以进行 linq 查询

ios - 注销/清除数据的 Objective-C 约定是什么?