Apache Pluto portlet设置.java文件的路径

时间:2018-04-12 11:42:56

标签: maven java-ee portlet

我是portlets的新手,我遇到了HelloWorld应用程序的问题。该应用程序显示所有静态内容(来自index.jsp),但HelloWorldPortlet.java中的代码根本不显示。 我在谈论

response.getWriter().print("Hello World Portlet!");

我还在生命周期方法中放置了一些控制台日志(System.out.println)来检查它,但控制台中没有显示任何内容:(

public class HelloWorldPortlet extends GenericPortlet{
    public void doView( RenderRequest request, RenderResponse response )
            throws PortletException, IOException {
System.out.println("doView()");
            response.getWriter().print("Hello World Portlet!");
        }
}

我的猜测是,关于.java文件/类的一些设置在众多XML配置文件中是错误的...

编辑:我正在使用Maven构建工具,我只是模糊地理解。

的pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.journaldev</groupId>
    <artifactId>HelloWorldPortlet</artifactId>
    <packaging>war</packaging>
    <version>0.0.1-SNAPSHOT</version>
    <name>HelloWorldPortlet Maven Webapp</name>
    <url>http://maven.apache.org</url>
    <dependencies>
        <dependency>
            <groupId>org.apache.portals</groupId>
            <artifactId>portlet-api_2.0_spec</artifactId>
            <version>1.0</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.portals.pluto</groupId>
                <artifactId>maven-pluto-plugin</artifactId>
                <version>2.1.0-M3</version>
                <executions>
                    <execution>
                        <phase>generate-resources</phase>
                        <goals>
                            <goal>assemble</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <artifactId>maven-war-plugin</artifactId>
                <configuration>
                    <webXml>${project.build.directory}/pluto-resources/web.xml</webXml>
                </configuration>
            </plugin>
        </plugins>
        <finalName>HelloWorldPortlet</finalName>
    </build>
</project>

1 个答案:

答案 0 :(得分:0)

这应该有帮助...

protected void doView(RenderRequest request, RenderResponse response)
        throws PortletException, IOException, UnavailableException
    {
        response.setContentType(request.getResponseContentType());
        PortletRequestDispatcher dispatcher = getPortletContext().getRequestDispatcher((new StringBuilder("/WEB-INF/jsp/TestPortlet")).append(VIEW).toString());
        dispatcher.include(request, response);
    }

    public void processAction(ActionRequest request, ActionResponse response)
        throws PortletException, PortletSecurityException, IOException
    {
        String name = request.getParameter("firstname");
        if(name != null && !name.equals(""))
            response.setRenderParameter("helloname", name);
    }

    public static String VIEW = "/view.jsp";
    public static final String PORTLET = "TestPortlet";

在jsp中你可以使用......

String requestParameter = request.getParameter("helloname");