JSF HTML页面未显示正确的标记值
因此,我使用JSF开发了一个web应用程序,并为按钮/文本输入字段指定了名称和ID。但是当我打开网页并检查元素时,我看不到每个字段对应的名称/id。相反,我看到的是:j_idtx:j_idty,其中x和y是一些数字,例如:j_idt2:j_idt5 在使用JSP而不是JSF进行开发时,我没有看到这个问题 下面是将按钮设置为特定名称的示例代码:JSF HTML页面未显示正确的标记值,html,jsf,jsf-2,jsf-2.2,Html,Jsf,Jsf 2,Jsf 2.2,因此,我使用JSF开发了一个web应用程序,并为按钮/文本输入字段指定了名称和ID。但是当我打开网页并检查元素时,我看不到每个字段对应的名称/id。相反,我看到的是:j_idtx:j_idty,其中x和y是一些数字,例如:j_idt2:j_idt5 在使用JSP而不是JSF进行开发时,我没有看到这个问题 下面是将按钮设置为特定名称的示例代码: <ui:composition template="WEB-INF/templates/BasicTemplate.xhtml"> &
<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正确显示
谢谢当您不指定id时,它将自动生成。您确实指定了一个id,但是您没有为具有“这些元素是子元素”的表单指定id。因此,jsf自动生成的表单id将添加到最终版本(如j_idt2:myid)中的id中 在表单中添加一个id,如果您想找到id为的元素,您必须执行以下操作:“form:myid” 像这样:
<h:form id="myform">
<h:inputText id="input"/>
</h:form>
输入的id将是:
myform:input
您必须在表单“prepand=false”上添加属性。如果表单的id=“formID”,则表单中的元素将具有前缀和表单的id,后跟collon,例如,子元素将具有id=“formID:childID”。一些jsf组件生成它们自己的代码,它们也生成ID。最好还是用classesOk名字呢?我主要是通过名字而不是id。添加prepand=“false”不会改变名字。我建议你阅读这篇文章@BalusC,这是一个糟糕的单词选择,没关系。我认为这是个问题。那么,我如何明确地给按钮命名呢?我想我会使用客户端ID。在So中的某个地方一定有这样的副本。请查找并将问题标记为such@Kukeltje我不知道我能做到这一点。我认为30%的关于jsf/primefaces的问题都是重复的。。。