将Querystring参数从SharePoint传递到Java Applet webpart

时间:2009-09-17 12:19:02

标签: c# java sharepoint web-parts

我有一个SharePoint webpart页面,页面中有一个参数Querystring(在URL中),我还有一个Page Viewer webpart(实际上是IFRAME的指定网页),它显示了一个Java小程序。

有什么办法可以让Java Quetystring中的参数得到Java Applet的接收?

在webpart中执行Java applet的原因是允许将文件拖放到Java applet上,该参数显示文件将保存在SharePoint Document Center中的位置。

我很感激任何建议。

干杯

尼克

注意:

  1. 由于围绕Page Viewer webpart设置了“wall”,Java applet无法直接读取sharepoint页面中的Querystring。
  2. 我已经尝试在加载SharePoint页面时创建一个cookie,然后在加载Java小程序时读取cookie(收到文件后,这不是时间限制),但它无法访问cookie(不同的域名?)

4 个答案:

答案 0 :(得分:2)

听起来你的两个网页来自不同的域名。在这种情况下,您需要使用其中一种跨域通信技巧来破坏墙壁。

阅读这篇文章,

http://msdn.microsoft.com/en-us/library/bb735305.aspx

这是我最喜欢的方法。总结一下,

  1. 您需要在applet域上创建一个简单的webpart页面,其中包含一些Javascript,用于将URL片段(在#之后)传递到applet窗口。我们称之为xd_helper(跨域助手)。
  2. 如果您在其他网站部分中有URL,则调用xd_helper #querystring。
  3. xd_helper可以将查询字符串发送到applet,因为它们位于同一个域中。
  4. xd_helper Javascript可以非常简单。看看Google Friend Connect使用的那个,

    var u=location.href,h=u.substr(u.indexOf("#")+1).split("&"),t,r;try{t=h[0]===".."?parent.parent:parent.frames[h[0]];r=t.gadgets.rpc.receive}catch(e){}r&&r(h);
    

    Facebook使用更详细的版本,

    http://static.ak.facebook.com/js/api_lib/v0.4/XdCommReceiver.js?2

答案 1 :(得分:1)

SharePoint和页面查看器Web部件可能不是直接问题。如您所述,您描述的“墙”是HTML IFrame标记。如果小程序在IFrame中,则可以查看查询字符串是否可以集中搜索。

或者,为什么不使用内容编辑器Web部件?这允许您将任意HTML直接包含在页面上。不是通过查询字符串传递参数,而是通过object tag

传递它们
<object 
  classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
  width="200" height="200">
  <param name="code" value="Applet1.class">
  <param name="paramX" value="valueX">
</object>

您应该可以使用以下方式检索:

String name = getParameter("paramX");

答案 2 :(得分:0)

您是否尝试使用JS读取查询字符串然后记录。编写applet的嵌入代码?

答案 3 :(得分:0)

找到指向此blog的链接,其中介绍了如何将参数传递到内容编辑器webpart,然后解决了该问题。