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