单击链接后如何设置会话属性?

时间:2014-08-01 09:34:36

标签: 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 =&lt;%= link%&gt; ?

3 个答案:

答案 0 :(得分:1)

请不要使用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>

并在您的控制器中捕获参数

doGet(HttpServletRequest request,HttpServletResponse response){


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

答案 1 :(得分:0)

正确的代码方式是

<tr>
    <td> 
        <a href="MarkDistribution1.jsp?course_id_QSparam="+<%=course_id%>'></a>
    </td>  
</tr>

您所犯的错误是在<td>标记之前关闭了<a>。您可以像这样添加其余参数。

答案 2 :(得分:0)

这很奇怪。我通过改变这样的代码解决了这个问题,

<%  
    String link;
    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];
    link = "<tr><td> <a 
    href=\"MarkDistribution1.jsp?course_id_QSParam="+course_id+"\">"+course_id+":
    "+course_name+"</td></a></tr>";
%>
    table = '<%=link%>'
    document.write(table);
<%
    }   
%>

使用单引号在java脚本变量表中分配java变量链接。无论如何,谢谢你们。