如果我得到空会话,我需要设置一些值来播放动作类。所以,这是方法
public SearchFilters getFilters() {
return (SearchFilters) getSession().get("Filters");
}
我想查看会话,如果它是null
,那么我需要在这里设置一些值。
public SearchFilters getFilters() {
if(getSession().get("Filters").equals(null)){
---- //How to set the values and return ?
}
return (SearchFilters) getSession().get("Filters");
}
答案 0 :(得分:0)
getSession()
将返回新会话。所以你不必担心这个会回来 null 。请注意,HttpSession下没有get()
方法,它是getAttribute()
。
所以你可以这样做:
public SearchFilters getFilters() {
if(getSession().getAttribute("Filters") == null) {
getSession().setAttribute("Filters", new SearchFilters());
}
return (SearchFilters) getSession().getAttribute("Filters");
}
答案 1 :(得分:0)
public SearchFilters getFilters() {
if(getSession().get("Filters") == null){
//How to set the values
getSession().put("Filters", new Filters());
}
// and return.
return (SearchFilters) getSession().get("Filters");
}
假设您已在实施SessionAware
后将会话注入到getter方法获取的操作中。值是自由手对象,它不包含任何值,但您可以为其创建构造函数并直接传递值。