Liferay中的不同JSP渲染 [英] Different jsp rendering in Liferay

查看:64
本文介绍了Liferay中的不同JSP渲染的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要进行以下构造:

String pageName = request.getParameter("pageName");
if ("some_parameter".equals("pageName")) {
    include("html/one.jsp", request, response);
}
if ("third_parameter".equals("pageName")) {
    include("html/two.jsp", request, response);
}

但是我总是遇到NullPointerException之类的麻烦.

But I always have troubles like NullPointerException.

我的意思是我尝试使不同的renderURL显示不同的jsps,但我不知道如何.如果您不了解我的意思,但是对这个主题有了解,请在评论中写一些信息,我会提供更多信息.预先感谢!

I mean I try to make different renderURL show different jsps but I don't know how. If you don't undestand what Im about but have knowledge in this theme please write smth in comments I'll give more info. Thanks in advance!

好的,我举个例子:

public static final String VIEW = "view";                           //view.jsp parameter
public static final String ADD_BOOK = "add_book";                   //add_book.jsp parameter

private final String VIEW_PAGE_PATH = "/html/view.jsp";             //view.jsp path parameter
private final String ADD_BOOK_PAGE_PATH = "/html/add_book.jsp";     //add_book.jsp path parameter

@Override
public void render(RenderRequest request, RenderResponse response)
        throws PortletException, IOException {

    String pageName = request.getParameter("pageName");
    if (pageName.equalsIgnoreCase(ADD_BOOK)) {              
        include(ADD_BOOK_PAGE_PATH, request, response);
    } else {
        include(VIEW_PAGE_PATH, request, response);
    }
}

和我的view.jsp:

and my view.jsp:

<portlet:renderURL var="addBookVar">
    <portlet:param name="pageName" value="<%=Library.ADD_BOOK %>"/>
</portlet:renderURL>

<a href="${addBookVar}">Add Book</a>

为什么此代码不起作用?我应该怎么做才能达到目的,当 不同的renderURL显示不同的jsps?

Why this code doesn't work? What should I do in order to achieve situation when different renderURLs show different jsps?

推荐答案

在进行比较之前,请先检查pageName是否为"not null". 使用StringUtils.isNotEmpty(..)源帖子

Please check pageName for "not null" first before going for comparison. Use StringUtils.isNotEmpty(..) class ref for checking "if string is not null and not empty" before making comparison. Source Post

这篇关于Liferay中的不同JSP渲染的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆