DWR(Resource Forward)
<html>
<head>
<title>
</title>
<script type='text/javascript' src='/DWR/dwr/interface/ResourceForward.js'></script>
<script type='text/javascript' src='/DWR/dwr/engine.js'></script>
<script type='text/javascript' src='/DWR/dwr/util.js'></script>
<script type="text/javascript">
function forward() {
ResourceForward.getInclude(function(data) {
dwr.util.setValue("forward", data, {escapeHtml:false})
});
}
</script>
</head>
<body>
<p>
<input value="Include Page" type="button" onclick="forward()"/><br/>
Included Page:
</p>
<div id="forward"></div>
</body>
</html>
通常、DWRが呼び出すコードはPOJOであり、webとは無関係です.しかし、この例では、webサーバについての知識を探りたいです.だから、WebContextを使ってServletContextを訪問します.この例は上で述べた動的テキストの例と似ているところがあります.違いは今HTMLページを呼び出す必要があります.
public String getInclude() {
WebContext wctx = WebContextFactory.get();
return wctx.forwardToString("/simpletext/forward.html");
}
上記の例では、純粋なテキストを扱っていますが、現在処理しているのはhtmlです.XSS攻撃を回避するために、DWRはHTML文字のフィルタリングを提供しています.しかし、いくつかの場合、私たちはこれが安全であることを知っています.function forward() {
Demo.getInclude(function(data) {
dwr.util.setValue("forward", data, { escapeHtml:false });
});
}
三つ目のオプションパラメータは多くのDWR関数の一つです.これは関数の挙動を決めることができます.この例ではfalseに設定します.DWRにフィルタをかける必要がないと言います.