2013-08-02 49 views
0

http://mydomain.pl:8080/web/guest/addItem我有幾個portlet。 就在其中有含的commandButton這樣的門戶:使用commandButton加載新頁面

<h:commandButton value="Add item" action="#{itemsManagerBean.addItem}" /> 

其中,方法如下:

public String addItem() { 
    // ... 
    return "/anotherPortlet/view.xhtml"; 
} 

它的工作原理,但它超載只有這一個門戶。我想負荷新的一頁http://mydomain.pl:8080/web/guest/anotherPage與其他門戶...

,這是什麼最好的解決辦法?

+0

我不這樣做的Portlet,我不知道你是什麼意思與「超載」在這裏,但你不真的想後之後發送重定向? (或者如果方法完全沒有做什麼,只是使用一個簡單的鏈接?) – BalusC

+0

我是否正確理解你想要一個完整的頁面重新加載,其中頁面上有一個完全不同的portlet比你正在重新加載的頁面?這可能會更深入到門戶的實現中,而不是在這裏回答。這可能有助於說明您想要解決的基本業務問題。這絕對是另一種解決方案,它很快就可以做到並且易於維護。 –

回答

0
public void addItem() { 
ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext(); 
try { 
     externalContext.redirect("/web/guest/anotherPage"); 
    } catch (Exception e) 
     { 
      e.printStackTrace(); 
     } 
} 
+0

我得到了'SEVERE:servlet [Faces Servlet]與path [/ ChatAzure]上下文中的Servlet.service()拋出異常[javax/servlet/jsp/jstl/core/Config]帶有根本原因 java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/Config' ... –

+0

'jstl.jar'丟失。我的服務器本身有這個jar。我正在使用Liferay + Jboss AS。所以我在'../ deploy/jbossweb.sar/jstl.jar'中有這個jar。檢查你的服務器是否有這個jar。 –

+0

現在我得到了'javax.servlet.ServletException:文件「/web/guest/anotherPage.jsp」找不到'爲什麼'.jsp'被粘在那裏? –