gpt4 book ai didi

javascript - Alfresco - HTTP session

转载 作者:行者123 更新时间:2023-11-30 18:28:10 25 4
gpt4 key购买 nike

尝试通过 QuickStart 上的 Javascript Webscripts 访问 HTTP session 。

在为每个 http session 将元素保存到某个私有(private)对象方面,我找不到任何帮助。

有没有人知道任何解决方案?

最佳答案

  1. 创建自定义 JavaScript 根对象 - 它是一个实现 org.springframework.extensions.webscripts.processor.BaseProcessorExtension 类的 Java 类,例如:

    package pl.test;

    import javax.servlet.http.HttpSession;

    import org.springframework.extensions.surf.ServletUtil;
    import org.springframework.extensions.webscripts.processor.BaseProcessorExtension;

    public class HttpSessionHelper extends BaseProcessorExtension {

    public void setInSession(String paramName, String paramValue) {
    HttpSession session = ServletUtil.getSession();
    session.setAttribute(paramName, paramValue);
    }

    public String getFromSession(String paramName) {
    HttpSession session = ServletUtil.getSession();

    Object paramValue = session.getAttribute(paramName);
    if (paramValue != null) {
    return paramValue.toString();
    } else {
    return null;
    }
    }
    }
  2. 编译并打包此类到 jar 存档并将其复制到 Share(或基于 Surf 的应用程序)。

  3. 在spring-surf-script-services-context.xml中注册这个类,例如:

    <bean id="exampleExtension" parent="baseScriptExtension" 
    class="pl.test.HttpSessionHelper">
    <property name="extensionName">
    <value>httpSessionHelper</value>
    </property>
    </bean>
  4. 在 webscript 中使用您新的自定义根对象,例如:

    var paramName = httpSessionHelper.getFromSession('paramName');
    httpSessionHelper.setInSession('paramName','paramValue');

关于javascript - Alfresco - HTTP session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10304326/

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