有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

jsp如何在java中设置会话属性?

我可以在scriptlet中设置会话属性,但当我试图在java类中设置会话属性时,它会显示类似“会话无法解析”的错误。 那么如何在java中设置会话呢

<%String username = (String)request.getAttribute("un");
session.setAttribute("UserName", username);%>

共 (5) 个答案

  1. # 1 楼答案

    试试这个

    <%@page language="java" session="true" %>
    
  2. # 2 楼答案

    我正试图理解你的观点。我希望这会有帮助

    if (session.isNew()){
         title = "Welcome to my website";
         session.setAttribute(userIDKey, userID);
    
  3. # 3 楼答案

    通过Java类,我假设您是指在任意Java类中设置会话属性的Servlet类是没有意义的。您可以在servlet的doGet/doPost方法中执行类似的操作

    public void doGet(HttpServletRequest request, HttpServletResponse response) {
    
        HttpSession session = request.getSession();
        String username = (String)request.getAttribute("un");
        session.setAttribute("UserName", username);
    }
    
  4. # 4 楼答案

    Java文件:Jclass。爪哇

    package Jclasspackage
    
    public class Jclass {
    
        public String uname ;
        /**
         * @return the uname
         */
        public String getUname() {
            return uname;
        }
    
        /**
         * @param uname the uname to set
         */
        public void setUname(String uname) {
            this.uname = uname;
        }
    
        public Jclass() {
            this.uname = null;
        }
    
        public static void main(String[] args) {
    
        }
    }
    

    JSP文件:示例。jsp

        <%@ page language="java"
        import="java.util.*,java.io.*"
        pageEncoding="ISO-8859-1"%>
    
    <jsp:directive.page import="Jclasspackage.Jclass.java" />   
    <% Jclass jc = new Jclass();
    String username = (String)request.getAttribute("un")
    jc.setUname(username);
    %>
    

    -----------------

    通过这种方式,您可以使用 类中的“this.username”

  5. # 5 楼答案

    默认情况下,会话对象在jsp页面上可用(隐式对象)。它在普通的POJO java类中不可用。 您可以使用HttpServletRequest在Servelt上获取HttpSession对象的引用

    HttpSession s=request.getSession()
    s.setAttribute("name","value");
    

    您可以在基于ActionSupport的ActionPOJO类上获得会话,如下所示

     ActionContext ctx= ActionContext.getContext();
       Map m=ctx.getSession();
       m.put("name", value);
    

    看看: http://ohmjavaclasses.blogspot.com/2011/12/access-session-in-action-class-struts2.html