2012-11-30 73 views
0

我從重定向a.xhtmlb.xhtml問題重定向JSF問題

本地主機

:8080/proyect/a.xhtml idempresa = 2 & idcontrato = 15我有這個INIT:

@PostConstruct 
public void init() { 
    HttpServletRequest request=(HttpServletRequest)FacesContext.getCurrentInstance().getExternalContext().getRequest(); 
    setIdempresa(Integer.parseInt(request.getParameter("idempresa"))); 
    setIdcontrato(Integer.parseInt(request.getParameter("idcontrato"))); 
    ...... } 

重定向按鈕是按照我的觀點

<p:commandButton action="b.xhtml?faces-redirect=true" ajax="false" ... /> 

但是,當我打命令按鈕來重定向它總是重裝a.xhtml,沒有PARAMS爲本地主機:8080/proyect/a.xhtml所以它產生

java.lang.NumberFormatException:空 在java.lang.Integer.parseInt(Integer.java:454) at java.lang.Integer.parseInt(Integer.java:527) at beans.MBcompletadoInter.init(MBcompletadoInter.java:83) ....

MBcompletadoInter是我的名字支持Bean上a.xhtml使用

任何意見將受到歡迎(Y)

回答

0

b.xhtml? faces-redirect = true只適用於ajax 啓用。你確定你不想使用b.jsf而不是b.xhtml?可以在web.xml中計算出來。

嘗試使用idempresaidcontrato上的調試輸出。它打印什麼?

+0

是它的xhtml,但它像命令按鈕刷新頁面沒有參數! –

+0

您必須將ajax與*?faces-redirect = true *結合使用才能導航到其他頁面。你能夠使用Ajax嗎?如果不是,爲什麼不呢? 嘗試在* action =「#{bean.method}」*中使用* b.xhtml?faces-redirect = true *作爲方法的返回值,而不是* action =「b.xhtml?faces -redirect = true *。 – Manuel

+0

或者:你可以使用一個簡單的* p:button *而不是* p:commandButton *,如下所示:http://www.primefaces.org/showcase/ui/button.jsf – Manuel