该
HtmlOutputTag代表变量,而不是一个组成部分。宁可使用
HtmlOutputText。然后,您可以
value像在JSF页面中的真实组件中那样完全设置属性。如果您需要将其
Valueexpression作为原始文件而不是原始文件
value,则需要使用进行创建
expressionFactory#createvalueexpression()。这是一个启动示例:
HtmlOutputText text = new HtmlOutputText();text.setValueexpression("value", createvalueexpression("#{bean.property}", String.class));这里的便捷方法
createvalueexpression()如下所示:
private static Valueexpression createvalueexpression(String valueexpression, Class<?> valueType) { FacesContext context = FacesContext.getCurrentInstance(); return context.getApplication().getexpressionFactory() .createvalueexpression(context.getELContext(), valueexpression, valueType);}将其隐藏在某个实用程序类中很远,这样就不必一次又一次地重复所有代码;)
valueType参数显然应该表示属性的实际类型。
然后,JSF页面中的最终结果应如下所示:
<h:outputText value="#{bean.property}" />就是说,根据功能要求,确实可能存在更好,更清洁的方法来解决功能要求。如果需要,您可以对此进行详细说明,以便我们在必要时可以提出更好的方法。



