簡體   English   中英

將JSP轉換為SharePoint webpart

[英]Converting a JSP to a SharePoint webpart

我們在BEA門戶中運行了大量基於Java的servlet / portlet,我們希望將其轉換為SharePoint 2007 webparts。 許多portlet使用用戶首選項,但實現在portlet直接處理並存儲在與門戶網站不同的數據庫中的首選項之間進行拆分。 其他人正在使用BEA WebLogic API來獲取用戶首選項。

三個問題:

  1. 有沒有人獲得Java Servlet / JSP(針對JRE 1.4.2編譯並在Tomcat 4.1上運行)作為SharePoint 2007 webpart運行?
  2. 一般來說有多大的努力(例如,以天/周/月來衡量)?
  3. 至少就用戶偏好而言,將portlet重寫為本機webpart會更容易嗎?

我們有一個稍微類似的項目,我們將從BEA門戶轉換為Sharepoint。

不同之處在於我們沒有任何java servlet或JSP頁面作為webparts / portlets,而是我們系統上的所有代碼都是.net portlets(現在是webparts。)。

Java servlet位於彈出窗口中,使用超鏈接從Sharepoint鏈接。

所以我不能給你答案1.因為我們從未這樣做過。
但是,將BEA門戶portlet轉換為SharePoint webpart可能是一項重要的練習,因為您需要以完全不同的方式構建它們。

在努力方面,我們在1年內將大約100個小工具遷移到webparts /應用程序,其中包括1個全職開發人員和1個sharepoint infrastructure / configurer。

對於3 ...這取決於你的portlet有多復雜。 如果你想把它們保存為portlet的/ webparts,那么除非你使用像頁面查看器webpart這樣的hack,否則需要完全重寫...但是你並沒有真正遷移,你只需要在頂層封裝現有系統。

我想說這是一個大項目,需要仔細規划才能成功。
我希望這有幫助。

以下是我為單個portlet,股票報價面板所做的工作。

我們有一個顯示股票報價的小工具。 我們在Tickertech有一個帳戶,他們可以向我們提供報價信息。 有用戶首選項允許人們將小工具添加到私人頁面,然后選擇他們感興趣的股票作為個人。 您還可以選擇要顯示的列。 這是通過JavaScript完成的。 選定的股票代碼與令牌一起發送,該令牌將請求標識為來自有效客戶。

最簡單的方法是使用Web內容控件並粘貼JavaScript。 這有效,但用戶無法更改涉及Tickertech的股票代碼或其他偏好。

下一步是創建自定義Webpart。 我們正在使用Visual Studio的WSPBuilder插件。 正在幫助我們完成該項目的咨詢公司推薦它,我很高興他們這樣做,將整合周期縮短到可以容忍的水平。

在webpart中,我們有一個包含腳本的屬性。

public class MarketSummaryWP : Microsoft.SharePoint.WebPartPages.WebPart
{     
    string m_scriptBlockPre = "<script language='javascript'> \n"+ // the beginning of the JavaScipt block 

在CreateChildControls()重寫中,我只是將其添加為文字。

this.Controls.Add(new LiteralControl(this.Script));  

接下來,我將腳本更改為私有,並創建另一個屬性來保存股票代碼列表。 注意,Script屬性在getter中進行連接。

    //Script Property
    [WebBrowsable(false),
    WebDisplayName("Script"),
    WebDescription("The JavaScript to insert in the page.")]
    public string Script
    {
    get { return m_scriptBlockPre + m_stockSymbolsList + m_scriptBlockPost; }
    //set { ; }
    }

    //Stock Symbol list Property
    [Personalizable(PersonalizationScope.User), WebBrowsable(true),
    WebDisplayName("Stock Symbols"),
    WebDescription("The stock symbols to retrieve quotes for, seperated by commas.")]
    public string StockSymbols
    {
        get { return m_stockSymbolsList; }
        set { m_stockSymbolsList = value; }
    }


    string m_stockSymbolsList = "GE,CAT,$DJI,AMR,JNJ,";

    string m_scriptBlockPost = " *other JavaScript code* </script> \n"+

這為我提供了一個可以添加到任何頁面的webpart,因為它位於webpart庫中。 要添加使用靜態html webpart構建的webpart的副本,您需要從現有實例獲取JavaScipt塊,可能使用“view source”,導航到目標頁面,添加靜態HTML webpart的新實例,並修改它以包含JavaScipt塊; 每一次。 這樣,用戶只需從webpart列表中選擇它,並且他們可以具有自定義的股票報價首選項。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM