此时我在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}
返回 true 或 false 。 Tomahawk负责设置readonly属性。
现在我要更改为 bootstrap.js 。在这里,我可以使用普通的<input />
标签,但只读的设置会给我带来麻烦。我搜索了互联网,但找不到解决方案。在一个网站上,他们建议使用三元测试(${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:错误解析/viewMetadata/bean/detail.xhtml:跟踪错误[line:99]元素类型&#34;输入&#34;必须遵循属性规范,&#34;&gt;&#34;或&#34; /&gt;&#34;。
实现这一目标的最简单方法是什么?
答案 0 :(得分:1)
<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页面。
请务必查看第一条评论,您可以采用不同的方式