java
package com.vcredit.jdev.obiz.base;
import javax.servlet.http.HttpSession;
import net.gplatform.sudoor.server.security.model.auth.SSAuth;
import org.apache.commons.lang3.StringUtils;
import org.jboss.logging.annotations.Message;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.context.annotation.ScopedProxyMode;
import org.springframework.stereotype.Component;
import com.vcredit.jdev.obiz.account.model.Register;
import com.vcredit.jdev.obiz.account.model.entity.Account;
import com.vcredit.jdev.obiz.alert.model.MessageInfoControl;
@Component
@Scope(value="session",proxyMode=ScopedProxyMode.TARGET_CLASS)
public class ObizSessionContext {
@Autowired
private HttpSession session;
@Autowired
private SSAuth auth;
@Autowired
private Register register;
@Autowired
private MessageInfoControl cInfoControl;
public ObizSessionContext(){
}
public String getCurrentUserName(){
String aid = (String)session.getAttribute("aid");
if(StringUtils.isNotBlank(aid)){
return (String)session.getAttribute("username");
}else{
if(auth.getIsPostLogin()){
return auth.getCurrentUser();
}
}
return "";
}
public int getMessageCount(){
String username = getCurrentUserName();
Account account = register.getAccountByLoginName(username);
int count =Integer.getInteger(cInfoControl.getCountMessage(account.getId().toString(), account.getNationalID(),"0"));
return count;
}
}
在thymeleaf的html页面中
<li class="login" style="width: 120px;">
<a th:href="@{/app/account/clickusername}" href="#">
<span th:text="${@obizSessionContext.currentUserName}"></span>
</a>
</li>