如何获取所有 Session 值和名称?

Posted

技术标签:

【中文标题】如何获取所有 Session 值和名称?【英文标题】:How to get all Session values and names? 【发布时间】:2016-01-26 22:08:39 【问题描述】:

如果我在会话中有值并且我需要获取会话中的所有值,例如

String[] name = request.getParameterValues("values");
HttpSession session = request.getSession();

for(String temp:name)

    if(temp.equalsIgnoreCase("a"))
    
        session.setAttribute("a", temp);
        out.println("a is Running<br>");
    

    if(temp.equalsIgnoreCase("b"))
    
        session.setAttribute("b", temp);
        out.println("b is Running<br>");
    

    if(temp.equalsIgnoreCase("c"))
    
        session.setAttribute("c", temp);
        out.println("c is Running<br>");
    

    if(temp.equalsIgnoreCase("d"))
    
        session.setAttribute("d", temp);
        out.println("d is Running<br>");
    

    if(temp.equalsIgnoreCase("e"))
    
        session.setAttribute("e", temp);
        out.println("e is Running<br>");
    

    if(temp.equalsIgnoreCase("f"))
    
        session.setAttribute("f", temp);
        out.println("f is Running<br>");
    

如果我得到一组复选框值到一个字符串。我设置了所有 在 .jsp 中选择到会话对象的值。我需要 仅检索保存在 jsp 中的选定值 以上代码。

【问题讨论】:

【参考方案1】:
Enumeration<String> attributes = request.getSession().getAttributeNames();
while (attributes.hasMoreElements()) 
    String attribute = (String) attributes.nextElement();
    System.out.println(attribute+" : "+request.getSession().getAttribute(attribute));

【讨论】:

【参考方案2】:
        Enumeration e = (Enumeration) (session.getAttributeNames());

        while ( e.hasMoreElements())
        
            Object tring;
            if((tring = e.nextElement())!=null)
            
                out.println(session.getValue((String) tring));
                out.println("<br/>");
            

        

这段代码也运行良好 感谢火花回复@karim mohsen

【讨论】:

【参考方案3】:
Enumeration keys = session.getAttributeNames();
while (keys.hasMoreElements())
   String key = (String)keys.nextElement();
   out.println(key + ": " + session.getValue(key) + "<br>");

这段代码在jsp上工作

【讨论】:

【参考方案4】:
Enumeration attributeNames = session.getAttributeNames();
while (attributeNames.hasMoreElements()) 
    String temp= attributeNames.nextElement();
            if(temp.equalsIgnoreCase("a"))
            
                session.setAttribute("a", temp);
                out.println("a is Running<br>");
            
            if(temp.equalsIgnoreCase("b"))
            
                session.setAttribute("b", temp);
                out.println("b is Running<br>");
            
            if(temp.equalsIgnoreCase("c"))
            
                session.setAttribute("c", temp);
                out.println("c is Running<br>");
            
            if(temp.equalsIgnoreCase("d"))
            
                session.setAttribute("d", temp);
                out.println("d is Running<br>");
            
            if(temp.equalsIgnoreCase("e"))
            
                session.setAttribute("e", temp);
                out.println("e is Running<br>");
            
            if(temp.equalsIgnoreCase("f"))
            
                session.setAttribute("f", temp);
                out.println("f is Running<br>");
            

【讨论】:

【参考方案5】:

这段代码是在 JSP 中完成的

emun= session.getAttributeNames(); // 获取会话中的所有属性名称 %>

【讨论】:

以上是关于如何获取所有 Session 值和名称?的主要内容,如果未能解决你的问题,请参考以下文章

如何从 React Native Picker 获取值和标签名称?

如何获取集群的最小值和最大值

如何从 Ionic Dynamic Select Options 中获取 ID 值和 NAME 值

如何利用echarts图表获取条状图点击名称和值

如何获取和设置pdf中所有字段的字段格式

php中的jquery如何获得session的值