我正在尝试为Confluence制作一个"hello world"servlet插件.在atlassian-plugin.xml中,我有
<servlet name="testservlet" key="testservlet" class="com.test.confluence.plugins.testservlet.TestServlet">
<description>A test servlet.</description>
<url-pattern>/testservlet</url-pattern>
</servlet>
Run Code Online (Sandbox Code Playgroud)
在pom.xml中,我有
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
这是servlet
package com.test.confluence.plugins.testservlet;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
public class TestServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("Hello World");
out.close();
}
}
Run Code Online (Sandbox Code Playgroud)
它构建和安装,但是当我在/ confluence/plugins/servlet/testservlet上访问servlet时,我得到一个找不到的页面,并且这个ClassCastException:
[INFO] [talledLocalContainer] -- url: /confluence/plugins/servlet/testservlet | userName: admin
[INFO] [talledLocalContainer] com.atlassian.util.concurrent.LazyReference$InitializationException: java.lang.ClassCastException: com.test.confluence.plugins.testservlet.TestServlet cannot be cast to javax.servlet.http.HttpServlet
Run Code Online (Sandbox Code Playgroud)
编辑:这是完整的堆栈跟踪:
[INFO] …Run Code Online (Sandbox Code Playgroud) 我想显示以下内容:
<ul class="parent">
<li>a
<ul class="child">
<li>a1</li>
<li>a2</li>
<li>a3</li>
</ul>
</li>
<li>b
<ul class="child">
<li>b1</li>
<li>b2</li>
<li>b3</li>
</ul>
</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
像这样:
*a *b
*a1 *b1
*a2 *b2
*a3 *b3
Run Code Online (Sandbox Code Playgroud)
我尝试了一些使用内联和浮动的变体,但找不到让孩子菜单垂直扩展并使用CSS排队的方法.