2012-05-05 21 views
0

我正在用netbeans開發一個jsf web應用程序。h:inputText -Field是否可見?

<fieldset> 
     <div> 
      <h:inputText id="firstname" value="#{loginCtrl.customer.name}" label="Name"> 
        <f:validateLength minimum="3" maximum="8"/> 
      </h:inputText> 
     <div> 
... 

我寫了代碼,但是當我將它部署到apache tomcat服務器時,沒有顯示字段?爲什麼? h:輸入沒有可見性元素?

問候,並提前THX

PS:我的web.xml文件:

<?xml version="1.0" encoding="UTF-8"?> 
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"> 
    <context-param> 
     <param-name>javax.faces.PROJECT_STAGE</param-name> 
     <param-value>Development</param-value> 
    </context-param> 
    <servlet> 
     <servlet-name>Faces Servlet</servlet-name> 
     <servlet-class>javax.faces.webapp.FacesServlet</servlet-class> 
     <load-on-startup>1</load-on-startup> 
    </servlet> 
    <servlet-mapping> 
     <servlet-name>Faces Servlet</servlet-name> 
     <url-pattern>/faces/*</url-pattern> 
    </servlet-mapping> 
    <session-config> 
     <session-timeout> 
      30 
     </session-timeout> 
    </session-config> 
    <welcome-file-list> 
     <welcome-file>faces/register.jsf</welcome-file> 
    </welcome-file-list> 
</web-app> 

回答

1

請確保您在瀏覽器的地址欄中看到的請求URL與FacesServlet的URL模式匹配,如web.xml中所述。您可以通過右鍵單擊瀏覽器中的頁面並查看生成的HTML源代碼來驗證。如果<h:inputText>仍然存在,則意味着FacesServlet根本沒有被調用。

如果通過/page.xhtml打開網頁,那麼FacesServlet顯然不是映射*.xhtml,但*.jsf或別的東西。您需要相應地更改瀏覽器地址欄中的網址以完全匹配指定的網址格式,或者相應地修改映射。

+0

好吧我做了所有的重命名和我的輸出已經改變:我沒有得到該網站,但我在瀏覽器窗口中打印的代碼?爲什麼? – maximus

+0

您似乎已將實際視圖文件的擴展名從「.xhtml」更改爲「.jsf」。這個不對。您需要保留實際視圖文件.xhtml的擴展名。將'/ faces/*'的''的值更改爲'* .xhtml'。將''更改爲'register.xhtml'。這樣你就不再需要像'/ faces'或'.jsf'這樣的虛擬網址了。 – BalusC

0

h:input has no visibility element?

是的,h:inputText元素有rendered屬性:

<h:inputText id="firstname" rendered="true" value="#{loginCtrl.customer.name}" 
    label="Name"> 
     <f:validateLength minimum="3" maximum="8"/> 
</h:inputText> 

但是defa lut是真實的,所以瑕疵不在於...

+0

thx爲您的答案!是的,問題不是這樣(我試過^^)...在h:inputText元素之前可能有一個標籤嗎? – maximus

+0

@ user1248720試着放一個'HTML輸入'標籤,看看你是否看到他... choop

+0

是的,html輸入標籤效果很好! ! – maximus