次のようにJSR168ポートレットを作成しました。
public class GetTest extends GenericPortlet {
@Override
public void doView(RenderRequest request, RenderResponse response)
throws PortletException, IOException {
PortletRequestDispatcher rd =
getPortletContext().getRequestDispatcher("/getTest.jsp");
rd.include(request, response);
}
}
このためのポートレットはgetTest.portletという名前で、WebContentフォルダーにあります。このためのjspページ:
<%
String params = request.getParameter("params");
out.print("Params: " + params);
%>
ここで、WeblogicのDISCフレームワークを使用して、このポートレットにAjaxgetリクエストを作成します。これどうやってするの?
私はこれに関してネットで検索しましたが、私が使用できる有用な例はありませんでした。私が試したことは次のとおりです。
other.jspで:
.....
<script type="text/javascript">
var dataUrl = "/getTest.portlet?params=hi";
var xmlhttp = new bea.wlp.disc.io.XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if ((xmlhttp.readyState == 4) && (xmlhttp.status == 200)) {
alert(xmlhttp.responseText);
}
}
xmlhttp.open('GET', dataUrl, true);
xmlhttp.send(null);
</script>
....
警告で私は空白になります。このポートレットのjspページにあるように、「Params:hi」を取得する必要があります。どうすればこれを達成できますか?
私は以下の記事を読みましたが、有用なものが見つからなかったか、何かを見逃した可能性があります。
- http://docs.oracle.com/cd/E13155_01/wlp/docs103/clientdev/disc.html
- http://docs.oracle.com/cd/E13155_01/wlp/docs103/clientdev/rest.html
- https://blogs.oracle.com/satya/entry/new_feature_resource_serving_in
- http://docs.oracle.com/cd/E13155_01/wlp/docs103/clientdev/publishing.html
このポートレットが接続されているデスクトップポータルのディスクも有効にしました。