2

我想使用 ViewPreparer 来修改布局菜单,具体取决于会话范围。我不知道如何访问会话范围。在视图准备器中,我实现了这样的方法:

public void execute(Request tilesContext, AttributeContext attributeContext)

我花了很多时间尝试访问会话但没有成功。我设法访问的唯一与会话相关的东西是tilesContext.getAvailableScopes(). 任何帮助表示赞赏。

4

2 回答 2

4

请试试这个:

public void execute(Request tilesContext, AttributeContext attributeContext){

HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();

HttpSession session = request.getSession();

// your code here
}
于 2013-03-28T14:06:42.990 回答
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

}

如果您想获取会话属性,您可以将请求更改为会话。

于 2014-07-08T05:27:53.790 回答