我想在bean中动态创建控件。我正在使用JSF 2.0
HtmlOutputTag objHtmlOutputTag = new HtmlOutputTag();
现在HtmlOutputTag
我应该设置哪个属性来设置内容HtmlOutputTag
?
该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}" />
就是说,根据功能要求,确实可能存在更好,更清洁的方法来解决功能要求。如果需要,您可以对此进行详细说明,以便我们在必要时可以提出更好的方法。
问题内容: 情况:我有一个JavaServer Faces页面和一个会话范围的托管bean,它具有两个属性:一个用于保存可能值的列表,另一个用于保存所选值的列表。在JSF页面上,有一个绑定了这两个属性的组件。 问题:提交表单后,选定的值将转换为字符串(ArrayList类型的属性实际上包含几个字符串!);但是,当我使用转换器时,出现如下错误消息: 验证错误:值无效 问题:如何将属正确绑定到组件?
我想替换Netbeans中的默认值${user}。帮助文件显示 要定义参数,请执行以下操作: > 在IDE的菜单栏中,选择“工具” 展开其他类别。双击属性。用户。属性文件将在编辑器中打开。 定义一个参数。例如,定义${user}参数,用于将您的姓名添加到您创建的模板中。语法为'user=LorumIpsum@mycompany.com'。展开代码模板时,该模板中出现的所有${user}都将替换为'
问题内容: 我正在用Java做一些Swing GUI,我想我的问题很简单。如何设置鼠标的位置? 问题答案: 您需要使用机器人 此类用于生成本机系统输入事件,用于测试自动化,自运行演示以及需要控制鼠标和键盘的其他应用程序。Robot的主要目的是促进Java平台实现的自动化测试。 使用类生成输入事件与将事件发布到AWT事件队列或AWT组件不同,因为事件是在平台的本机输入队列中生成的。例如,实际上将移动
问题内容: 我正在尝试使用JavaFX中的WebView入门,但是当尝试打开WebView时,我收到以下所示的错误,我该如何解决此问题? 问题答案: 尝试运行WebView时遇到任何错误时,请确保您的VM选项包含模块javafx.web。 虚拟机选项: 在IntelliJ中,您可以通过转到IDE右上方的“编辑配置”按钮来访问VM选项。
问题内容: 我已经使用数据库中的SQL数据库开发了一个窗口服务,该数据库中的记录已满,因此查询执行需要很多时间,而默认命令超时是30S,但我想将其增加到120S。 但是我的应用程序中有很多方法,因此我想从APP.config文件中进行设置,这样它将适用于应用程序级别,任何人都可以告诉我如何实现此目标 谢谢 问题答案: 实现此目的的最简单方法是在类似以下内容的地方添加新条目: 然后,创建一个将填充值
问题内容: 我有一个模型: 如何编写基于类的视图,该视图创建新的模型实例并将外键设置为? 问题答案: 我通过覆盖方法解决了这个问题。下面是详细说明的样式: 但是我们可以简短地说(感谢dowjones123),在docs中提到了这种情况。