Jakarta ee 如何将信息从servlet获取到JBossPortal2.5.4中的portlet中
我有一个基于JBossPortal2.5.4的门户,它需要一些I18N。在login.jsp页面(位于portal server.war中),我们添加了一个语言开关。页面上的链接之一是“忘记密码”功能 出于与外观相关的原因,ForgetPassword页面在我们的JBoss门户中实现为一个最大化的portlet。但是,很明显,还没有用户对象,因为还没有登录 那么,如何将用户在login.jsp上选择的区域设置信息向下传递到忘记密码jsp中呢 我试过:Jakarta ee 如何将信息从servlet获取到JBossPortal2.5.4中的portlet中,jakarta-ee,jboss,jboss-portal,Jakarta Ee,Jboss,Jboss Portal,我有一个基于JBossPortal2.5.4的门户,它需要一些I18N。在login.jsp页面(位于portal server.war中),我们添加了一个语言开关。页面上的链接之一是“忘记密码”功能 出于与外观相关的原因,ForgetPassword页面在我们的JBoss门户中实现为一个最大化的portlet。但是,很明显,还没有用户对象,因为还没有登录 那么,如何将用户在login.jsp上选择的区域设置信息向下传递到忘记密码jsp中呢 我试过: 会话变量(不行,它们不会跨越战争) coo
- 会话变量(不行,它们不会跨越战争)
- cookies(JBoss门户会吞下它们)
- URL参数(JBoss门户也接受它们)
- System.setProperty()-当它们到达ForgetPassword jsp时,它们被重置
有没有什么明显的技巧我不知道?我是否需要咬紧牙关,将我的ForgetPasswordPage重新组织为一个servlet,以便获取URL参数?好的,我找到了一种机制来实现这一点——在portal-object.xml中创建一个新的portlet窗口(ForgotPasswordWindow\u de):
<window>
<window-name>ForgotPasswordWindow_de</window-name>
<instance-ref>UserMgmtPortletInstance_de</instance-ref>
<region>center</region>
<height>0</height>
</window>
然后,在jsp中,我查看属性,并设置区域设置
String locale = (String) request.getAttribute("lang");
首先,登录页面有一个开关,如果语言是德语,它调用ForgotPasswordWindow\u de而不是ForgotPasswordWindow\u en
String lang = request.getPreferences().getValue("lang", null);
request.setAttribute("lang", lang);
String locale = (String) request.getAttribute("lang");