如何在java中设置session属性?
我可以在scriptlet中设置session属性,但是当我尝试在java类中设置session属性时,它会显示类似“session无法解析”的错误。 那么如何在java中设置会话?
通过Java类,我假设你的意思是一个Servlet类,因为在任意Java类中设置会话属性是没有意义的。你可以在你的servlet的doGet / doPost方法中做这样的事情
public void doGet(HttpServletRequest request, HttpServletResponse response) { HttpSession session = request.getSession(); String username = (String)request.getAttribute("un"); session.setAttribute("UserName", username); }
默认情况下,会话对象在jsp页面上可用(隐式对象)。 它在普通的POJO java类中不可用。 您可以使用HttpServletRequest在Servelt上获取HttpSession对象的引用
HttpSession s=request.getSession() s.setAttribute("name","value");
您可以按如下方式在基于ActionSupport的Action POJO类上进行会话
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
尝试这个。
<%@page language="java" session="true" %>
我试着抓住你的观点。我希望它有用…..
if (session.isNew()){ title = "Welcome to my website"; session.setAttribute(userIDKey, userID);
Java文件:Jclass.java
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文件:sample.jsp
<%@ page language="java" import="java.util.*,java.io.*" pageEncoding="ISO-8859-1"%> <% Jclass jc = new Jclass(); String username = (String)request.getAttribute("un") jc.setUname(username); %>
—————–
通过这种方式,您可以使用类中的“this.username”访问java文件中的用户名