动态制作输入标签只读

时间:2016-05-30 19:39:39

标签: html jsf twitter-bootstrap-3 jstl tomee

此时我在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;。

实现这一目标的最简单方法是什么?

1 个答案:

答案 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页面。

修改

请务必查看第一条评论,您可以采用不同的方式