Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将JSP转换为SharePoint Web部件_Sharepoint_Jsp_Web Parts - Fatal编程技术网

将JSP转换为SharePoint Web部件

将JSP转换为SharePoint Web部件,sharepoint,jsp,web-parts,Sharepoint,Jsp,Web Parts,我们在BEA门户中运行大量基于Java的servlet/Portlet,希望将其转换为SharePoint 2007 Web部件。许多portlet使用用户首选项,但实现在由portlet直接处理并存储在与门户分离的数据库中的首选项之间进行划分。其他人则使用BEA WebLogic API作为用户首选项 三个问题: 是否有人获得了Java Servlet/JSP(根据JRE 1.4.2编译并在Tomcat 4.1上运行)作为SharePoint 2007 Web部件运行 一般来说,工作量有多大(

我们在BEA门户中运行大量基于Java的servlet/Portlet,希望将其转换为SharePoint 2007 Web部件。许多portlet使用用户首选项,但实现在由portlet直接处理并存储在与门户分离的数据库中的首选项之间进行划分。其他人则使用BEA WebLogic API作为用户首选项

三个问题:

  • 是否有人获得了Java Servlet/JSP(根据JRE 1.4.2编译并在Tomcat 4.1上运行)作为SharePoint 2007 Web部件运行
  • 一般来说,工作量有多大(例如,是否以天/周/月为单位衡量)
  • 至少就用户偏好而言,将portlet重写为本机Web部件会更容易吗

  • 我们有一个稍微相似的项目,我们正在从BEA门户网站转换到Sharepoint

    区别在于我们没有任何Javaservlet或JSP页面作为webparts/Portlet,相反,我们系统上的所有代码都是.NETPortlet(现在是webparts.)

    Java servlet位于弹出窗口中,这些窗口使用超链接从Sharepoint链接

    所以我不能给你一个答案。因为我们从来没有这样做过。
    但是,将BEA门户portlet转换为SharePoint Web部件可能是一项重要的工作,因为您需要以完全不同的方式构建它们

    就工作而言,我们在一年内将大约100个小工具迁移到Web部件/应用程序,其中包括1名全职开发人员和1名sharepoint基础架构/配置人员

    而对于3。。。这取决于portlet的复杂程度。 如果您想将它们保留为portlet/webpart,则需要完全重写,除非您使用类似于页面查看器webpart的hack。。。但这样做并不是真正的迁移,而是用SharePoint封装现有系统

    我想说这是一个大项目,需要仔细规划才能成功。

    我希望这能有所帮助。

    以下是我为一个portlet(股票报价面板)所做的工作

    我们有一个显示股票报价的小工具。我们在Tickertech有一个帐户,以便他们向我们提供报价信息。有一些用户偏好允许人们将小工具添加到私人页面,然后选择他们感兴趣的股票作为个人。您还可以选择要显示的列。这是通过JavaScript实现的。所选股票符号与标识来自有效客户的请求的令牌一起发送

    最简单的方法是使用web内容控件,然后粘贴到JavaScript中。这是可行的,但用户无法更改股票符号或涉及Tickertech的其他首选项

    下一步是创建自定义Web部件。我们正在使用VisualStudio的WSPBuilder附加组件。帮助我们完成项目的咨询公司重新推荐了它,我很高兴他们这么做了,将集成周期缩短到了可以接受的水平

    在Web部件中,我们有一个包含脚本的属性

    public class MarketSummaryWP : Microsoft.SharePoint.WebPartPages.WebPart
    {     
        string m_scriptBlockPre = "<script language='javascript'> \n"+ // the beginning of the JavaScipt block 
    
    接下来,我将脚本更改为private,并创建了另一个属性来保存股票符号列表。请注意,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"+
    
    //脚本属性
    [WebBrowsable(假),
    WebDisplayName(“脚本”),
    WebDescription(“要插入页面中的JavaScript。”)]
    公共字符串脚本
    {
    获取{return m_scriptBlockPre+m_stockSymbolsList+m_scriptBlockPost;}
    //集合{;}
    }
    //股票符号列表属性
    [Personalizable(PersonalizationScope.User),WebBrowsable(true),
    WebDisplayName(“股票符号”),
    WebDescription(“用于检索报价的股票符号,用逗号分隔)。]
    公共字符串符号
    {
    获取{return m_stockSymbolsList;}
    设置{m_stockSymbolsList=value;}
    }
    字符串m_stockSymbolsList=“GE,CAT,$DJI,AMR,JNJ,”;
    字符串m_scriptBlockPost=“*其他JavaScript代码*\n”+
    

    这会给我一个可以添加到任何页面的Web部件,因为它位于Web部件库中。要添加使用静态html Web部件构建的Web部件的副本,您需要从可能使用“查看源”的现有实例中获取JavaScipt块,导航到目标页面,添加静态html Web部件的新实例,并修改它以包含JavaScipt块;每一次。这样,用户只需从Web部件列表中选择它,就可以自定义股票报价首选项。

    @Bravax,您使用弹出窗口的解决方案听起来就像我对#1的想法。即使只是用SharePoint封装现有系统,也比尝试将所有portlet重写为Web部件要好。
        //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"+