动态使输入标签只读
Dynamic making input-tag readonly
此时我在 Tomee (v1.7.4) 中使用 Tomahawk20 (v1.1.14) 作为我的表单输入字段:
<t:inputText id="email" value="#{bean.klant.email}" maxlength="255" size="50" readonly="#{bean.aktie.readonly}" />
#{bean.aktie.readonly}
returns true 或 false。 Tomahawk 负责只读属性的设置。
现在我想换成bootstrap.js。在这里我可以使用普通的 <input />
标签,但是 readonly 的设置给我带来了麻烦。我在互联网上搜索但找不到解决方案。在一个站点上,他们提议使用三元测试 (${bean.aktie.readonly?'readonly':''}
):
<input id="email" type="text" class="form-control" value="#{bean.klant.email}" maxlength="255" size="50" ${bean.aktie.readonly?'readonly="readonly":''} />
然而,这给了我错误:
javax.servlet.ServletException: Error Parsing /viewMetadata/bean/detail.xhtml: Error Traced[line: 99] Element type "input" must be followed by either attribute specifications, ">" or "/>".
实现此目的最简单的方法是什么?
<input>
不是 JSF 标签,这就是问题所在。您必须使用 h:inputText
http://www.tutorialspoint.com/jsf/jsf_inputtext_tag.htm
您还遗漏了一些引文。试试这个:
<h:inputText id="email" styleClass ="form-control" value="#{bean.klant.email}" maxlength="255" size="50" disabled="${bean.aktie.readonly}" />
顺便说一下,如果您有兴趣将 Bootstrap 与 JSF 结合使用,请查看:http://www.bootsfaces.net 编写 BootStrap 页面将变得异常简单看起来棒极了。
编辑
一定要看到第一条评论,你也许可以用不同的方式做到这一点
此时我在 Tomee (v1.7.4) 中使用 Tomahawk20 (v1.1.14) 作为我的表单输入字段:
<t:inputText id="email" value="#{bean.klant.email}" maxlength="255" size="50" readonly="#{bean.aktie.readonly}" />
#{bean.aktie.readonly}
returns true 或 false。 Tomahawk 负责只读属性的设置。
现在我想换成bootstrap.js。在这里我可以使用普通的 <input />
标签,但是 readonly 的设置给我带来了麻烦。我在互联网上搜索但找不到解决方案。在一个站点上,他们提议使用三元测试 (${bean.aktie.readonly?'readonly':''}
):
<input id="email" type="text" class="form-control" value="#{bean.klant.email}" maxlength="255" size="50" ${bean.aktie.readonly?'readonly="readonly":''} />
然而,这给了我错误:
javax.servlet.ServletException: Error Parsing /viewMetadata/bean/detail.xhtml: Error Traced[line: 99] Element type "input" must be followed by either attribute specifications, ">" or "/>".
实现此目的最简单的方法是什么?
<input>
不是 JSF 标签,这就是问题所在。您必须使用 h:inputText
http://www.tutorialspoint.com/jsf/jsf_inputtext_tag.htm
您还遗漏了一些引文。试试这个:
<h:inputText id="email" styleClass ="form-control" value="#{bean.klant.email}" maxlength="255" size="50" disabled="${bean.aktie.readonly}" />
顺便说一下,如果您有兴趣将 Bootstrap 与 JSF 结合使用,请查看:http://www.bootsfaces.net 编写 BootStrap 页面将变得异常简单看起来棒极了。
编辑
一定要看到第一条评论,你也许可以用不同的方式做到这一点