我需要做下面的結構:不同的JSP呈現在Liferay中
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異常煩惱。
我的意思是我試着讓不同的renderURL顯示不同的jsps,但我不知道如何。如果你不明白我在做什麼,但對這個主題有所瞭解,請在評論中寫下你的評論,我會給予更多信息。提前致謝!
OK,我給你我的例子:
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的:
<portlet:renderURL var="addBookVar">
<portlet:param name="pageName" value="<%=Library.ADD_BOOK %>"/>
</portlet:renderURL>
<a href="${addBookVar}">Add Book</a>
爲什麼這個代碼不工作?我應該怎麼做才能實現 不同的renderURL顯示不同的jsps?
嘗試使用一樣,如果(pageName.equals( 「SOME_PARAMETER」)) – rickz
「我總是有NullPointerException異常」 - 你知道他們爲什麼發生,對不對?您甚至可以在每次運行NullpointerException時停止調試器。堆棧跟蹤也應該有助於查找您正在取消引用空指針的位置。如果你在這裏指向一個堆棧跟蹤,讓我們也知道代碼中的哪一行對應於發生異常的行。 –