java - 当选项字符串包含换行符时,为什么 Tapestry 的选择组件不显示我选择的值?

标签 java tapestry

在我的应用程序中,我使用 List<String>作为选择框的模型。每个选项字符串末尾都包含一个换行符。

选项显示正常,但 Tapestry 似乎在渲染选项之前删除了换行符,然后在提交时它无法将删除的字符串与选项列表进行匹配,选项列表仍然包含换行符。

因此,尽管该属性已经具有非空值,但我的选择框始终会显示选中的空白选项。

最佳答案

您尚未提供model参数,因此 Tapestry 无法知道可用值。型号必须是SelectModel实例。有几个选项可用于创建 SelectModel .

  1. 提供一个逗号分隔的字符串,并让 Tapestry 的 TypeCoercer 创建适当的 SelectModel。
  2. 提供 java.util.List 并让 Tapestry 的 TypeCoercer 创建适当的 SelectModel。
  3. 提供 java.util.Map 并让 Tapestry 的 TypeCoercer 创建适当的 SelectModel。
  4. @Inject SelectModelFactory并调用create(List<?> objects, String labelProperty)使用 bean 属性作为每个模型的标签从列表创建 SelectModel。
  5. 创建自定义 SelectModel你自己。

http://tapestry.apache.org/5.3.7/apidocs/org/apache/tapestry5/corelib/components/Select.html http://tapestry.apache.org/5.3.7/apidocs/org/apache/tapestry5/SelectModel.html http://tapestry.apache.org/5.3.7/apidocs/org/apache/tapestry5/services/SelectModelFactory.html http://tapestry.apache.org/typecoercer-service.html

关于java - 当选项字符串包含换行符时,为什么 Tapestry 的选择组件不显示我选择的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20537780/

相关文章:

java - 是否应该将 Tapestry 5 用于产品发布?

java - 我想在 Tapestry 页面中发布包含酒店的列表,但此错误反复出现

java - 从 Tapestry 应用程序中读取和写入 .properties 文件的首选方法是什么

java - Tapestry 内部重定向到静态页面

java - NumberFormat 货币解析失败 "Unparseable number"

java - 检查输入是否正确 java 类型

java - 如何在我的 SWT 应用程序中检测 ctrl-f

java - 如何在 Tapestry 中隐藏额外的组件跨度标签?

Java 在网站上执行操作

java - Salesforce REST API 查询超过 2000