apache tiles 3 - 如何访问会话范围

时间:2013-03-03 22:41:39

标签: java-ee tiles session-scope

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

public void execute(Request tilesContext, AttributeContext attributeContext)

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

2 个答案:

答案 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

}
如果你想获得会话属性,你可以将请求更改为会话。