我想使用ViewPreparer来修改布局菜单,具体取决于会话范围。我不知道如何访问会话范围。在view preparer中,我实现了这样的方法:
public void execute(Request tilesContext, AttributeContext attributeContext)
我花了很多时间试图访问会话但没有成功。我设法访问的只有与会话相关的内容是tilesContext.getAvailableScopes()
。任何帮助表示赞赏。
答案 0 :(得分:3)
请试试这个:
public void execute(Request tilesContext, AttributeContext attributeContext){
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
HttpSession session = request.getSession();
// your code here
}
答案 1 :(得分:0)
public void execute(Request tilesContext, AttributeContext attributeContext){
Map<String, Object> request = tilesRequest.getContext("request");
request.get("{attributeName}"); // this will return your object in request
}
如果你想获得会话属性,你可以将请求更改为会话。