1
尝试通过QuickStart上的Javascript Webscript访问HTTP会话。Alfresco - HTTP会话
我无法找到任何帮助将元素保存到每个http会话的一些私人对象。
有谁知道任何解决方案?
尝试通过QuickStart上的Javascript Webscript访问HTTP会话。Alfresco - HTTP会话
我无法找到任何帮助将元素保存到每个http会话的一些私人对象。
有谁知道任何解决方案?
创建自定义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;
}
}
}
编译和打包这个类JAR归档并将其复制到共享(或基于冲浪的应用)。
注册这个类弹簧冲浪脚本服务-context.xml中,例如:
<bean id="exampleExtension" parent="baseScriptExtension"
class="pl.test.HttpSessionHelper">
<property name="extensionName">
<value>httpSessionHelper</value>
</property>
</bean>
使用新的自定义根对象在webscript,例如:
var paramName = httpSessionHelper.getFromSession('paramName');
httpSessionHelper.setInSession('paramName','paramValue');