【问题标题】:Alternative to t:selectOneRadio layout="spread"替代 t:selectOneRadio layout="spread"
【发布时间】:2011-09-19 02:04:10
【问题描述】:

我不再经常需要 tomahawk 组件,因为 jsf 2.0 提供了出色的 selectOneMenu 支持以及我曾经使用它们的大多数其他功能,但是当涉及到 selectOneRadio 组件时,我不知道其他提供者一个 layout="spread" 选项。这对于实现我被要求的某种布局有时是必不可少的。

我正是出于这个目的使用 Tomahawk,但最近发现了一些由该组件在故障转移期间引起的序列化问题。我想知道是否有人发现了另一个具有类似“传播”功能的提供程序,或者是否有人编写/发布了基于 h:selectOneRadio 的替代方案?

【问题讨论】:

  • 没有想到,不幸的是。然而,很容易输入一些 JS 代码来让各个单选按钮按照您的意愿行事(但这在禁用 JS 的客户端上无法正常工作)。您到底面临哪些序列化问题?
  • 在故障转移到另一台服务器后,出现索引越界异常。 stateholder 中的某些东西没有正确反序列化。如果我能弄清楚提供自定义序列化程序的确切问题是什么,那么在那个级别上肯定是可以解决的。我只是想知道是否还有更新的东西。 Tomahawk 目前似乎不是一个非常活跃的项目。

标签: jsf jsf-2 tomahawk


【解决方案1】:

我们还想使用“spread”选项——在我们的例子中是为了 DDA 兼容性(不使用表格进行布局),但出于政治原因无法使用 Tomahawk。我们最终为单选按钮和复选框编写了自己的自定义渲染器。

这并不太难,我花了几个小时才让它按照我们想要的方式工作。我在家几天没有访问代码库所以我不能给你确切的代码但这是一个非常简单的覆盖encodeBegin()和decodeBegin()(或encodeEnd()和@987654324 @ 取决于您的用例)方法并编写适合您的应用程序的 html。

【讨论】:

    猜你喜欢
    • 2011-09-06
    • 1970-01-01
    • 2020-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-03
    相关资源
    最近更新 更多