我制作了一个 JSR 168 portlet,如下所示:
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);
}
}
用于此的 portlet 被命名为 getTest.portlet 并且位于 WebContent 文件夹中。这个的jsp页面:
<%
String params = request.getParameter("params");
out.print("Params: " + params);
%>
现在我想使用 Weblogic 的 DISC 框架向这个 portlet 发出 Ajax get 请求。我怎样才能做到这一点?
我在网上对此进行了搜索,但没有任何有用的示例可以使用。我尝试过的如下:
在其他一些.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>
....
在警报中,我变得空白。我应该得到“Params: hi”,因为它在这个 portlet 的 jsp 页面中。我怎样才能做到这一点?
我阅读了以下文章,但没有发现任何有用的东西,或者我可能错过了一些东西。
- 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
我还为附加此 portlet 的桌面门户启用了光盘。