0

我想添加一些高级功能来帮助基于 Eclipse 3.7 的 Eclipse RCP 应用程序中的浏览器。我为帮助功能和扩展的 org.eclipse.help.webapp.AbstractView 创建了一个单独的插件:

import java.util.Locale;

import org.eclipse.help.webapp.AbstractView;

public class CustomView extends AbstractView {

    @Override
    public String getImageURL() {
        return "";
    }

    @Override
    public char getKey() {
        return 0;
    }

    @Override
    public String getName() {
        return "Custom";
    }

    @Override
    public String getTitle(Locale arg0) {
        return "Test Title";
    }

    @Override
    public String getURL() {
        return "/";
    }

    @Override
    public String getBasicURL() {
        return getURL();
    }
}

我添加了org.eclipse.help.webapp.view指向这个类的扩展。

在同一个插件中,我有一个文件夹插件/帮助文件 CustomView.jsp:

<html>
<head>
<title>View Test</title>
</head>

<body>
<h1>Hellp JSP!</h1>
</body>
</html>

该文件夹被添加到 build.properties 文件中。

另一个选项卡按预期出现在帮助内容浏览器窗口中,但我唯一得到的是此选项卡框架内的 404 错误:

HTTP 错误 404 访问 /help/CustomView.jsp 时出现问题。原因:

/CustomView.jsp

由码头提供支持://

我做错了什么以及如何让这个标签内容正确显示?

4

1 回答 1

0

我找到了失败的原因。剖析帮助插件后,我发现定义了额外的扩展,允许 Equinox 使用插件项目中提供的帮助文件作为可访问资源。这就是我在扩展部分的 plugin.xml 中放入的内容:

<extension point="org.eclipse.help.webapp.view">
      <view class="plugin.CustomView"></view>
</extension>

<extension point="org.eclipse.equinox.http.registry.httpcontexts">
      <httpcontext id="help">
         <resource-mapping path="/"> </resource-mapping>
      </httpcontext>
</extension>

<extension point="org.eclipse.equinox.http.registry.resources">
      <resource alias="/help" base-name="/help" httpcontextId="help"> </resource>
</extension>

第一个是实际的视图定义类。接下来是指向插件根目录的帮助上下文,最后一个是包含 JSP 文件的实际文件夹,它相对于插件根目录的位置和浏览器可用的别名。在我的应用程序中添加这些信息中心后,在新选项卡中显示我的测试 HTML 代码。帮助插件中的其他扩展点也是如此,它们在信息中心中添加了新的基于 JSP 的视图。

于 2013-08-08T08:40:16.677 回答