gpt4 book ai didi

java - 如何在cq5中设置 session 属性

转载 作者:行者123 更新时间:2023-11-29 06:58:06 25 4
gpt4 key购买 nike

我是cq5的新手,请帮忙!!我正在尝试在 session 属性中设置 hashmap。但出于某种原因,我发现 JSP 无法编译。请帮忙!!

   <%@include file="/apps/test/test2/global.jsp"%>
<%@page session="false"
import="org.apache.sling.api.resource.ValueMap,
com.day.cq.wcm.api.WCMMode,
com.day.cq.dam.scene7.api.net.NetUtils,
org.apache.commons.lang.StringUtils,
javax.jcr.Session,
org.apache.jackrabbit.api.security.user.UserManager,
org.apache.jackrabbit.api.security.user.Authorizable" %>

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>


<%
Session session = resourceResolver.adaptTo(Session.class);
Map<String, String> sessionValues = new HashMap<String, String>();

for(int i=0;i<5;i++)
{
sessionValues.put("Id"+i, properties.get("test:Id"+i, ""));
sessionValues.put("Url"+i,properties.get("test:Url"+i,""));
}
// put the hashmap as session
session.setAttribute("map", sessionValues);

%>

最佳答案

Session你有一个存储库 session ,它与 HTTP 非常不同 Session . Javax.jcr.Session 是您通往内容存储库的门户。它不用于存储 session 相关属性,也没有任何 setAttribute 方法。它用于读取和写入存储库 ( http://jackrabbit.apache.org/jcr/how-jackrabbit-works.html )。如果您要查找的只是一个 http session ,您应该从 slingRequest 获取它。 .

但是,如果您使用 http session ,则无法在调度程序中缓存页面 (https://forums.adobe.com/thread/960708)

关于java - 如何在cq5中设置 session 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30906454/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com