首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么我的JSF2.0定制组件在使用ajax时会呈现几次?

为什么我的JSF2.0定制组件在使用ajax时会呈现几次?
EN

Stack Overflow用户
提问于 2013-07-31 14:50:38
回答 1查看 348关注 0票数 0

我已经为一个特殊的userinput小部件创建了一个自定义的jsf2.0组件。

代码语言:javascript
运行
复制
<cc:interface>
    <cc:attribute name="value"></cc:attribute>
    <cc:attribute name="editmode" default="true" type="java.lang.Boolean"></cc:attribute>
</cc:interface>

<cc:implementation>
 ....
</cc:implementation>

该组件包含一些标准输入组件,并使用jsf2.0Ajax行为。我的组件中的一切都运行得很好,并且我在应用程序中多次使用它。

现在,当我使用带有f:ajax区域的组件时,我遇到了一个奇怪的问题。

代码语言:javascript
运行
复制
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:c="http://java.sun.com/jsp/jstl/core"
    xmlns:marty="http://java.sun.com/jsf/composite/marty"
    xmlns:h="http://java.sun.com/jsf/html">
    <!-- Ajax region -->
    <f:ajax>
        <h:panelGroup id="timesheet_panel" binding="#{timesheetListComponent}">

        .....
    <!-- my custom component ->
        <marty:userInput value="#{workitem.item['nammanager']}" editmode="true" />
        ....
       <h:commandButton value="#{message.search}"
            action="/pages/workitems/workitem"
            actionListener="#{timesheetController.reset}">
            <f:ajax render="timesheet_panel" onevent="updateTimesheetPanel" />
       </h:commandButton>
     ....
     </f:ajax>
</ui:composition>

现在奇怪的是,当单击命令按钮并触发ajax请求时,我的自定义组件在我的表单中出现了3次。

有人能解释为什么会发生这种情况吗?

EN

回答 1

Stack Overflow用户

发布于 2013-07-31 15:03:26

我找到了这种奇怪行为的原因。这是一个JavaScript问题。我的组件包含jquery脚本来隐藏组件的某些部分。ajax调用完成后,jquery脚本没有被触发,因此组件的布局被破坏。所以这是一个javaScript问题,而不是我最初认为的jsf组件的问题。很抱歉问错了问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17963510

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档