我希望在h:outputText中显示类似于“2010年10月20日,Mary”的内容。日期值存储在MBean的名为date1的字段中,而用户名存储在MBean的名为username的字段中。我使用以下EL表达式和UI控件:
然而,我该如何使用类似于
<h:outputText value="#{MBean.date1} by #{MBean.username}">
<f:convertDateTime pattern="YYYY-MM-DD" timeZone="#{configMB.timeZone}" />
</h:inputText>
该值可以显示,但它忽略了f:convertDateTime指定的日期格式。无论我如何更改日期格式,它总是显示类似于“2010-06-08 12:35:22.0 by Mary”的内容。我该如何解决这个问题?
更新:Zenzen的解决方案可通过以下代码更改实现。
<h:outputFormat value="{0, date, yyyy-MM-dd} by #{1}">
<f:param value="#{MBean.date1}" />
<f:param value="#{MBean.username}" />
</h:outputFormat>
然而,我该如何使用类似于
h:outputFormat
和<f:param>
的方法来格式化只读h:inputText
的值呢?有时显示的值太长了,使用<h:outputFormat>
会生成包含格式化消息的标签。我想要实现的效果类似于<input type="text">
,即UI控件具有固定长度,用户可以滚动查看消息(如果消息太长)。另外,如何使用CSS或JavaScript格式化标记,使其行为看起来像<input type="text">
呢?
h:outputFormat
和<f:param>
的方法来格式化只读的h:inputText
的值?有时显示的值太长,使用<h:outputFormat>
会生成包含格式化消息的span标签。我想要一个像<input type="text">
这样的效果,即UI控件具有固定长度,如果消息太长,则用户可以滚动查看消息。或者,如何格式化span标签,使其行为看起来像<input type="text">
,使用CSS或JavaScript? - Ken Chan