我有一个登录页面和欢迎页面
这里是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>
当我从welcome.jsp
中的操作类返回成功时,如何将会话ID附加到struts.xml
,如下所示
http://myopenidhost.com/openid/welcome.jsp?sessionid=swe234323xghf346rrg34r4
答案 0 :(得分:0)
在这种情况下,当您在javascript函数中提交页面使用时:
您将在页面中声明隐藏字段,并将您的操作中的jsessionId指定给此隐藏字段。
function abc(){
var jsessionId=document.<hiddenFieldName>.value;
document.action="welcomePage.jsp?sessionId="+jsessionId;
document.submit();
}
我不知道你想要实现什么,但是你是一种Get请求,你可以在你的URL中看到这个生成的id
如果我没有错,这是在URL中追加值的方法。 如果这有帮助,请告诉我......如果不是我需要准确的标准你想要达到的目标。
答案 1 :(得分:0)
您应该配置返回参数的结果
<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;
}
}
答案 2 :(得分:-2)
如果您尝试将登录详细信息放入会话中,请使用SessionAware界面,如果没有,请告诉我..