java 如何获取所有会话值和名称?

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/33368963/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-11-02 21:34:42  来源:igfitidea点击:

How to get all Session values and names?

javajspsession

提问by Manoj Krishna

if i have values in a session and i need to get all the values in a session like

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

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>");
    }
}
  • if I get a set of checkbox values to a string. Im setting all the values which are selected in a .jsp to a session object. I need to retrieve only the selected values in a jsp which are saved in the above code.
  • 如果我将一组复选框值转换为字符串。我将在 .jsp 中选择的所有值设置为会话对象。我只需要检索保存在上述代码中的 jsp 中的选定值。

回答by Max CodeSmith

Enumeration<String> attributes = request.getSession().getAttributeNames();
while (attributes.hasMoreElements()) {
    String attribute = (String) attributes.nextElement();
    System.out.println(attribute+" : "+request.getSession().getAttribute(attribute));
}

回答by Manoj Krishna

        Enumeration e = (Enumeration) (session.getAttributeNames());

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

        }

this code is also working perfectly thanks for the spark reply @karim mohsen

这段代码也工作得很好,感谢火花回复@karim mohsen

回答by javed alam

This Code is done in JSP

此代码是在 JSP 中完成的

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

回答by karim mohsen

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>");
            }
}