2013-06-23 143 views
0

我努力解決這個問題與JSF Get請求

我有兩個XHTML頁面索引頁面

<?xml version='1.0' encoding='UTF-8' ?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" 
     xmlns:h="http://xmlns.jcp.org/jsf/html" 
     xmlns:f="http://xmlns.jcp.org/jsf/core"> 
    <h:head> 
     <title>Facelet Title</title> 
    </h:head> 
    <h:body> 
     <h:link value="Go to page2" outcome="response"> 
      <f:param name="field1" value="firstvalue" /> 
      <f:param name="field2" value="secondvalue" /> 
      <f:param name="field3" value="thirdvalue" /> 
     </h:link> 
    </h:body> 
</html> 

和響應頁面

<?xml version='1.0' encoding='UTF-8' ?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" 
     xmlns:h="http://xmlns.jcp.org/jsf/html" 
     xmlns:f="http://xmlns.jcp.org/jsf/core"> 


    <h:head> 
     <title>Facelet Title</title> 
    </h:head> 
    <h:body> 
     <f:metadata> 
      <f:viewParam name="field1" value="#{bean2.field1}"/> 
      <f:viewParam name="field2" value="#{bean2.field2}"/> 
      <f:viewParam name="field3" value="#{bean2.field3}"/> 
     </f:metadata> 

     <h:outputText value="#{bean2.field1}" /> 
     <h:outputText value="#{bean2.field2}" /> 
     <h:outputText value="#{bean2.field3}" /> 
    </h:body> 
</html> 

,只有一個豆

@Named(value = "bean2") 
    @SessionScoped 
public class Bean2 implements Serializable{ 

    private String field1; 
    private String field2; 
    private String field3; 
//...... getters and setters 
} 

當我點擊中的鏈接dex頁面,它導航到響應頁面,但沒有設置字段值

你有什麼建議,爲什麼這是行不通的?

注:我使用的是GlassFish 4.0

謝謝...

+0

解決你或許應該張貼您的解決方案作爲一個答案,並接受它自己。 – Andy

回答

2

通過更改名稱空間

<html xmlns="http://www.w3.org/1999/xhtml" 
     xmlns:f="http://java.sun.com/jsf/core" 
     xmlns:h="http://java.sun.com/jsf/html">