Ajax 渲染属性在 JSF2 的 h:dataTable 中不起作用

2024-03-06

我在 JSF 2.0 中的简单应用程序中遇到一些问题。

我尝试构建一个支持 ajax 的待办事项列表。我有一些使用数据表显示的待办事项字符串。在这个数据表中,我有一个用于删除任务的命令链接。现在的问题是数据表不会重新渲染。

    <h:dataTable id="todoList" value="#{todoController.todos}" var="todo">
        <h:column>
                <h:commandLink value="X" action="#{todoController.removeTodo(todo)}">
                    <f:ajax execute="@this" render="todoList" />
                </h:commandLink>
        </h:column>
        <h:column>
            <h:outputText value="#{todo}"/>
        </h:column>
    </h:dataTable>

感谢您的帮助。

编辑(TodoController):

@ManagedBean
@SessionScoped
public class TodoController {

private String todoStr;
private ArrayList<String> todos;

public TodoController() {
    todoStr="";
    todos = new ArrayList<String>();
}

public void addTodo() {
    todos.add(todoStr);
}

public void removeTodo(String deleteTodo) {
    todos.remove(deleteTodo);
}

/* getter / setter */
}

(看来我没有足够的声誉来评论别人的答案)

我认为 FRotthowe 建议用另一个元素包装表格,并使用 标记中的绝对引用(即从文档的根命名所有父容器)来引用它。

像这样的事情:

<h:form id="form">
    <h:panelGroup id ="wrapper">
        <h:dataTable value="#{backingBean.data}" var="list">
            <h:column>
                <h:commandButton value="-" action="#{backingBean.data}">
                    <f:ajax render=":form:wrapper"/>
                </h:commandButton>
            </h:column>
    </h:dataTable>
    </h:panelGroup>
</h:form>

但是,使用绝对引用始终是问题的根源,并且随着视图的增长,重构时间会呈指数增长。

有没有办法只从 标记渲染表格(防止 jsf 在 ajax 事件中添加那些烦人的“:number_of_row”)?

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ajax 渲染属性在 JSF2 的 h:dataTable 中不起作用 的相关文章

随机推荐

  • Facebook FQL 查询使所有用户在线

    我在本地 MySQL 数据库中保存了我的应用程序的所有用户的记录 我拥有获取用户在线状态所需的所有相关信息 UID access token并授予extended permission 如何获取所有用户的在线状态 我目前使用的方法是分别查询
  • 无法在 iOS 4 中播放视频

    我已经编写了在 iPhone OS 3 1 3 中播放视频的代码 并且视频播放正常 但是当我尝试使用相同的代码播放视频时 视频在 iOS 4 中无法播放 我知道 iOS 4 的媒体播放器框架已更改 有什么方法可以在不同的操作系统上播放视频而
  • 您是否发现本机 JSON 实现中存在任何错误? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何创建弹出窗口以在rails 3中创建新记录

    我们有一个要求 网页显示连接几个表的所有记录 我们有一个 添加按钮 单击该按钮后 我必须显示一个弹出窗口 用户将在其中输入必要的详细信息 弹出窗口将有两个按钮 保存 和 取消 单击 保存 按钮 应验证字段 如果所有验证均通过 则将记录保存到
  • “子例程条目中的宽字符” - UTF-8 编码的西里尔文字作为字节序列

    我正在开发一个带有大字典的 Android 文字游戏 这些单词 超过 700 000 个 作为单独的行保存在文本文件中 然后放入 SQLite 数据库中 为了保护我的字典 我想用 md5 对所有长度超过 3 个字符的单词进行编码 我不会混淆
  • http-proxy-middleware 不转发完整路径

    我正在尝试将 BrowserSync 配置为在服务器模式下工作 并将我的 API 请求代理到在同一计算机上不同端口上运行的后端 使用http 代理中间件 https github com chimurai http proxy middle
  • Python ast.literal_eval 在字典字符串上不起作用(SyntaxError:无效语法)

    我正在尝试使用 JSON 数据处理数据集 然而 数据未经解析就已写入文件 这意味着 python 字典作为字符串写入文件中 而不是作为字符串写入 JSON 对象 我找到了一个模块 AST 它可以使用以下命令再次将字符串转换为字典 ast l
  • docker --Windows 的卷格式

    我正在尝试使用我们在工作中使用的 shell 脚本来设置我们的开发环境 并将其重新调整为通过 Git Bash 在我的 Windows 环境中工作 shell脚本中启动容器的方式如下 docker run detach name serve
  • 在 Xcode 4.2 中的 UIWebView 中加载网页 - 如何正确连接 IBOutlet 并确保网页加载?

    大多数有关在 iPhone 应用程序中嵌入 UIWebView 的教程都基于旧版本的 Xcode 这是一个例子 http howtomakeiphoneapps com uiwebview tutorial 239 http howtoma
  • Launch4J - 如何将依赖的 jar 附加到生成的 exe

    我有一个简单的java项目 它需要外部jar 我使用 netbeans 构建它 在 Clean 和 Build 命令之后 我可以在 dist 目录中找到以下结构 myApp jar lib library1 jar library2 jar
  • 带有限制和排序的流星发布

    我有以下出版物 Meteor publish times function return Times find sort createdAt 1 limit 5 这将返回所有记录 忽略限制 然而这 Meteor publish times
  • Javascript 书签在 Firefox 13 中停止工作

    在 Firefox 版本 13 中 小书签 带有javascript 网址 例如javascript alert it works 停止工作 有没有什么解决办法可以使用javascript Firefox 13 中的书签 这是一个后果Bug
  • 如何确定我的 winform 位于哪个显示器?

    我浏览过这个网站 发现了很多有关 Screen 类以及如何计算监视器数量等的信息 但如何确定表单当前位于哪个监视器中 比使用边界更简单的方法是使用 Screen FromControl 方法 这与 Windows 使用的功能相同 Scree
  • 区别:cin.getline() 和 getline(cin, st)

    哪一种更好 更受青睐 我真的发现阅读 API 很混乱 会员版本读入char 免费版本读入std string 所以更喜欢免费版本 像这样使用它 std istream ins std string line while std getlin
  • 反应堆中的地图与平面地图

    我找到了很多关于RxJava https stackoverflow com questions 22847105 when do you use map vs flatmap in rxjava 但我想了解它在 Reactor 中是如何工
  • FOSUserBundle 控制器的覆盖操作

    我试图覆盖 ProfileController php 中的 editAction 但它不起作用 我可以成功覆盖模板和表单 但不能覆盖控制器的操作 应用程序 config yml FOS UserBundle Configuration f
  • 从 Android 手机获取可靠的 MSISDN? VoiceMailNumber Line1Number [重复]

    这个问题在这里已经有答案了 首先关闭MSISDN http en wikipedia org wiki MSISDN与电话号码相同 我一直在研究是否可以从 Android 手机上获取电话号码 我的研究结果是肯定和否定 可以使用电话管理器 h
  • 正文 { 溢出-x: 隐藏; } 中断位置:粘性

    我有一个要通过位置粘性来粘性的元素 header position sticky width 100vw top 0
  • 如何检查 Django 查询集中是否存在某个元素?

    它像常规的 python 集吗 假设我有以下查询集 entry set Entry objects all 如何检查entry set中是否存在Entry对象e 您可以使用以下代码 if e in Entry objects all do
  • Ajax 渲染属性在 JSF2 的 h:dataTable 中不起作用

    我在 JSF 2 0 中的简单应用程序中遇到一些问题 我尝试构建一个支持 ajax 的待办事项列表 我有一些使用数据表显示的待办事项字符串 在这个数据表中 我有一个用于删除任务的命令链接 现在的问题是数据表不会重新渲染