2

我的 xhtml 表单代码:

            <h:inputText id="name" value="#{customer.name}" 
                size="20" required="true"
                label="Name" onblur="alert(this.value())" >
            </h:inputText>

现在,当我查看源代码时,它呈现为

<input id="j_idt22:name" name="j_idt22:name" onblur="alert(this.value())" size="20"    type="text">

如果我们检查它们是否附加了一个前缀: j_idt22:
我想以我的 bean 形式获取这个前缀名称。

我怎么能做到这一点?

4

4 回答 4

5

为了避免在 JSF 组件中动态生成 id,您可以使用

<h:form prependId="false"> 

您可以直接获取与托管 bean 绑定的值

如果要检索名称列表,则可以使用request.getParameterMap()

于 2012-07-23T09:53:39.420 回答
4

您看到的 id 是组件的客户端 id。如果你有一个绑定到你的 bean 中的组件,component.getClientId(<FacesContext>)将返回元素的 HTML id (j_idt22:name)

于 2012-07-23T09:55:51.003 回答
2

您也可以为表单标签设置一个 id 以避免自动生成的 id。这样,您将知道自己设置的前缀。

于 2012-07-23T10:06:44.390 回答
1

我认为您没有提到您的表单,如果提及表单名称,它将生成 id 作为 formname:idname。

于 2012-07-23T09:44:45.600 回答