我怎么能得到JSF的前缀为JSF HTML元素2.0
我XHTML格式的代码:我怎么能得到JSF的前缀为JSF HTML元素2.0
<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形式获得这个前缀名称。
我该怎么做到这一点?
为了避免JSF组件动态生成的ID,您就可以使用
<h:form prependId="false">
你可以直接得到的值绑定您的托管bean
如果要检索的名称列表,那么你可以使用request.getParameterMap()
谢谢,绝对有帮助..但不回答我如何可以在托管bean中获得前缀的问题 – 2012-07-23 09:57:09
我不认为有人会回答这个帖子,你的答案不完全是我想要的..但是,这有助于..将其标记为答案..感谢您的帮助 – 2012-07-25 06:32:40
我想你没有提及你的表单,如果提到表单名称,它将生成ID为formname:idname。
您看到的ID是组件的客户端ID。如果您绑定了bean中的组件,则component.getClientId(<FacesContext>)
将返回该元素的HTML标识(j_idt22:name)
。
你可以为表单标签设置一个id以避免自动生成的id。这样你就可以知道前缀,因为你自己设置了它。
但这样我就无法得到一般,基本上我想要的是创建一个通用托管bean所有表单组件,我可以扩展他们的后添加特殊功能,每个表单上的id的硬编码将不会有多大帮助 – 2012-07-23 10:24:30
如果你想避免这个随机生成的名称,你可以这样做 – 2012-07-23 09:42:55
谢谢......我该怎么做?这个前缀的目的是什么?你能给同样的链接吗?但仍然如果我想获得前缀,任何想法如何可以做 – 2012-07-23 09:44:26
设置prependId为false为' –
2012-07-23 09:45:22