![](/img/trans.png)
[英]Struts 2 session values not reflecting in JSP in load balanced environment / domain URL
[英]Pass session id to URL JSP page in Struts 2
我有一个登录页面和欢迎页面,
这是struts.xml
文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<constant name="struts.devMode" value="true" />
<constant name="struts.enable.DynamicMethodInvocation" value="true"/>
<constant name="struts.objectFactory" value="org.apache.struts2.spring.StrutsSpringObjectFactory" />
<package name="Authentiate" extends="struts-default">
<global-results>
<result name="error">/error.jsp</result>
</global-results>
<action name="loginAuthenticate*" class="com.authenticate.actions.LoginAuthenticate" method="{1}">
<result name="success">/welcome.jsp</result>
<result name="redirectRegister" type="redirect">/registration.jsp</result>
</action>
</package>
</struts>
当我从struts.xml
中的操作类返回成功结果时,如何将sessionid
附加到welcome.jsp
如下
http://myopenidhost.com/openid/welcome.jsp?sessionid=swe234323xghf346rrg34r4
在这种情况下,当您提交页面时,请在您的 javascript 函数中使用以下内容:
您将在页面中声明隐藏字段,并将您的操作中的 jsessionId 分配给此隐藏字段。
function abc(){
var jsessionId=document.<hiddenFieldName>.value;
document.action="welcomePage.jsp?sessionId="+jsessionId;
document.submit();
}
我不知道你想实现什么,但它是一种 Get 请求,你可以在你的 URL 中看到这个生成的 id
如果我没有错,这是在 URL 中附加值的方法..请让我知道这是否有帮助......如果不是我需要你想要实现的确切标准。
您应该配置返回参数的结果
<result>
<param name="location">/welcome.jsp</param>
<param name="sessionId">${sessionId}</param>
</result>
在操作中,您应该在返回结果之前初始化参数
public class LoginAuthenticate extends ActionSupport {
private String sessionId;
public String getSessionId() {
return sessionId;
}
public String execute() {
//action code ...
sessionId = ServletActionContext.getRequest().getSession().getId();
return SUCCESS;
}
}
如果您尝试将登录详细信息放入 Session,请使用 SessionAware 接口,如果没有,请告诉我..
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.