Fórumok
ThemeDisplay in hook action class is null
Alexandra Mereuta, módosítva 13 év-val korábban
ThemeDisplay in hook action class is null
New Member Bejegyzések: 3 Csatlakozás dátuma: 2010.07.08. Legújabb bejegyzések
Hi,
I'm using Liferay 6.0.5 and I have a hook that overrides the login.events.post portal property. In my class that extends the Action class I want to get the themeDisplay and I do this in the run(HttpServletRequest request, HttpServletResponse response) method:
The problem is ThemeDisplay attribute is not among the attributes of the request so the themeDisplay object is null. So what am I doing wrong and how can I get the themeDisplay?
Thanks
I'm using Liferay 6.0.5 and I have a hook that overrides the login.events.post portal property. In my class that extends the Action class I want to get the themeDisplay and I do this in the run(HttpServletRequest request, HttpServletResponse response) method:
ThemeDisplay themeDisplay = (ThemeDisplay)request.getAttribute(WebKeys.THEME_DISPLAY);
The problem is ThemeDisplay attribute is not among the attributes of the request so the themeDisplay object is null. So what am I doing wrong and how can I get the themeDisplay?
Thanks
Armaz Mellati, módosítva 13 év-val korábban
RE: ThemeDisplay in hook action class is null
Junior Member Bejegyzések: 96 Csatlakozás dátuma: 2009.10.30. Legújabb bejegyzések
I have the same issue. I am trying to change the DefaultLandingPageAction. However I can get the User object, but I need the themeDisplay too and I have no idea how to get it.
Hope someone has any idea on this.
Regards,
Armaz
Hope someone has any idea on this.
Regards,
Armaz
Kim A Kunc, módosítva 13 év-val korábban
RE: ThemeDisplay in hook action class is null
Junior Member Bejegyzések: 37 Csatlakozás dátuma: 2009.02.18. Legújabb bejegyzésekArmaz Mellati:
I have the same issue. I am trying to change the DefaultLandingPageAction. However I can get the User object, but I need the themeDisplay too and I have no idea how to get it.
Hope someone has any idea on this.
Regards,
Armaz
Hi Amaz,
I'm not sure if ThemeDisplay is set in the HTTPServletRequest.
What values in ThemeDisplay do you need ?
Have you tried reading it from the session ?
I'm using the "last path" param for my forwarding logic in DefaultLandingPageAction...
HttpSession session = request.getSession();
LastPath currentLastPath = (LastPath) session.getAttribute(WebKeys.LAST_PATH);
Minhchau Dang, módosítva 13 év-val korábban
RE: ThemeDisplay in hook action class is null
Liferay Master Bejegyzések: 598 Csatlakozás dátuma: 2007.10.22. Legújabb bejegyzésekAlexandra Mereuta:
The problem is ThemeDisplay attribute is not among the attributes of the request so the themeDisplay object is null. So what am I doing wrong and how can I get the themeDisplay?
The ThemeDisplay object is initialized during service.pre which runs after login.post. Therefore, if you need a fully-populated ThemeDisplay object before that, you won't find it in the servlet request.
If you really need it, you'll need to do something funny like set request attributes and do something after the default Liferay service.pre events are processed (like in a ServicePostAction). If you just need a generic one to pass around to different function calls and the values don't matter, you can just call [tt]ThemeDisplayFactory.create()[/tt].
Jitendra Rajput, módosítva 13 év-val korábban
RE: ThemeDisplay in hook action class is null
Liferay Master Bejegyzések: 875 Csatlakozás dátuma: 2011.01.07. Legújabb bejegyzések
I think you can not get ThemeDisplay at the time of login.even.post.
if you wish you can get important parameter like "COMPANY_ID" ,"USER_ID" ,"CURRENT_URL"
by using httprequest.getAttribute("USER_ID")..
For the list of parameter available in http request use method httprequest.getAttributeNames() it will list parameter available in http request
if you wish you can get important parameter like "COMPANY_ID" ,"USER_ID" ,"CURRENT_URL"
by using httprequest.getAttribute("USER_ID")..
For the list of parameter available in http request use method httprequest.getAttributeNames() it will list parameter available in http request
Guillaume Lhermitte, módosítva 12 év-val korábban
RE: ThemeDisplay in hook action class is null
New Member Bejegyzések: 13 Csatlakozás dátuma: 2010.11.02. Legújabb bejegyzések
Simple, Usefull, Efficient, before I red your post I was looking far from the most obvious and elegant way to get those precious informations.
Thank you !
Thank you !
Harish Bhutada, módosítva 10 év-val korábban
RE: ThemeDisplay in hook action class is null
New Member Bejegyzés: 1 Csatlakozás dátuma: 2013.05.09. Legújabb bejegyzések
Hiii Alexandra
I also face the same problem
you just go in portal.properties file and write
servlet.service.events.post=your action class
this may solve your problem
I also face the same problem
you just go in portal.properties file and write
servlet.service.events.post=your action class
this may solve your problem
Tahir Noor Khaliq, módosítva 8 év-val korábban
RE: ThemeDisplay in hook action class is null
Junior Member Bejegyzések: 35 Csatlakozás dátuma: 2015.02.05. Legújabb bejegyzések
Use this
User user=null;
try {
user = PortalUtil.getUser(request);
} catch (PortalException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SystemException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
long ScopeGroupId= PortalUtil.getScopeGroupId(request);
System.out.println("ScopeGroupId : " + ScopeGroupId);
} catch (PortalException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SystemException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("user "+user.getScreenName());
User user=null;
try {
user = PortalUtil.getUser(request);
} catch (PortalException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SystemException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
long ScopeGroupId= PortalUtil.getScopeGroupId(request);
System.out.println("ScopeGroupId : " + ScopeGroupId);
} catch (PortalException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SystemException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("user "+user.getScreenName());