因此,我開發了一個使用JSF的Web應用程序,併爲我的按鈕/文本輸入字段提供了名稱和ID。但是,當我打開網頁並執行檢查元素時,我沒有看到每個字段的相應名稱/ ID。相反,我看到這個:j_idtx:j_idty,其中x和y是一些數字,例如:j_idt2:j_idt5。JSF HTML頁面沒有顯示正確的標記值
當使用JSP而不是JSF進行開發時,我看不到這個問題。
下面是設置一個按鈕,一個特定名稱的樣本代碼:
<ui:composition template="WEB-INF/templates/BasicTemplate.xhtml">
<ui:define name="content">
<h:form>
<h:commandButton action="login_page" value="Login" name="loginButton"></h:commandButton>
<br></br>
<br></br>
<h:commandButton action="registration_page" value="Register" name="registrationButton"></h:commandButton>
</h:form>
</ui:define>
</ui:composition>
因此,如何能確保我的名稱和ID出現是否正確?
謝謝
您必須在表單上添加屬性「prepand = false」。如果您的表單使用id =「formID」,則表單中的元素將預先準備好表單的ID,然後是collon,例如,子元素將具有id =「formID:childID」。某些jsf組件生成自己的代碼,並且它們也會生成id。更好地堅持類 – Chris
好的名字怎麼樣?我主要是通過名稱而不是id。添加prepand =「false」不會更改名稱。 – Viratan
我建議你閱讀這篇文章http://stackoverflow.com/questions/15893876/how-to-specify-name-attribute-in-hinputtext – Chris