程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> Dwr3.0純注解(純Java Code設置裝備擺設)設置裝備擺設與運用淺析三以後端反向挪用前端

Dwr3.0純注解(純Java Code設置裝備擺設)設置裝備擺設與運用淺析三以後端反向挪用前端

編輯:關於JAVA

Dwr3.0純注解(純Java Code設置裝備擺設)設置裝備擺設與運用淺析三以後端反向挪用前端。本站提示廣大學習愛好者:(Dwr3.0純注解(純Java Code設置裝備擺設)設置裝備擺設與運用淺析三以後端反向挪用前端)文章只能為提供參考,不一定能成為您想要的結果。以下是Dwr3.0純注解(純Java Code設置裝備擺設)設置裝備擺設與運用淺析三以後端反向挪用前端正文


在前兩篇中我們曾經引見了Dwr零設置裝備擺設文明化和前端挪用後真個辦法,想必年夜家應當曾經會闇練控制了,上去我們重要商量一下後端怎樣反向挪用前真個js辦法;

就如前兩篇說到了用Dwr注冊了兩個Service組件,一個是remote,別的一個是頁面應用到的controller,這個remote是在頁面一加載出去就會被挪用的,如許就使得會話和頁面ScriptSession樹立了綁定的關系,便利我們前面應用它的scriptSessionId停止頁面定向推送;

上面是樹立會話和頁面ScriptSession的辦法(頁面剛加載出去的時刻就會被挪用的):  

ScriptSession scriptSession = WebContextFactory.get().getScriptSession(); 
String jsessionId = scriptSession.getHttpSessionId(); 
String dwrSessionId = scriptSession.getId(); 
LOGGER.info(String.format("set jsessionId = [%s],dwrsession = [%s] push enabled",jsessionId,dwrSessionId)); 
ConstantCacheService.putCacheConstant(Constants.PUSH_ID+jsessionId, dwrSessionId);
上面是用來反向挪用前真個Service辦法:
@Service("dwrReverseAjaxService")
public class DwrReverseAjaxService {
private static final Logger LOGGER = LoggerFactory.getLogger(DwrReverseAjaxService.class);
public void directWebRemotingWithSession(HttpSession session, final String functionName) 
{Assert.notNull(session, "[Dwr Reverse Ajax] Session can not be null!");
final String scriptSessionId = ConstantCacheService.getCacheConstantValue(Constants.PUSH_ID + session.getId());
LOGGER.info("[DWR Session ID] = " + scriptSessionId + " [Script Function Name] = " + functionName);Browser.withSession(scriptSessionId, new Runnable() {
public void run() {ScriptSessions.addFunctionCall(functionName, "");
}});}}

這個Service是應用了scriptSessionId來停止反向定位推送的,而這個scriptSessionId是應用我們之前頁面剛加載出去就樹立好保留到的一個全局的Map對外面;

上去只需在你想要甚麼時刻挪用的時刻應用注冊的這個Service bean便可以了,傳出來的參數為HttpSession和你想挪用的前端Js funciton name,同時留意一下以後頁面存在這個Js function,並且普通是主頁面的Js外面的辦法能力被拜訪到,不然前端會提醒該辦法不決義的毛病;

以上就是關於Dwr的簡略運用,純屬第一次用,有甚麼纰謬的處所,請年夜家斧正出來,感謝不盡啊!年夜神請飄過~~~~~;

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved