【问题标题】:Command button doesn't calls it's action method after including prettyfaces包含漂亮面孔后,命令按钮不会调用它的操作方法
【发布时间】:2023-03-21 09:50:02
【问题描述】:

我最近在我的 web 应用程序中嵌入了漂亮的面孔,现在我的行​​为真的很奇怪。

我有一个带有命令按钮的更新用户表单:命令按钮如下所示。

命令链接和命令按钮都不会调用 bean 中的操作方法。 我的 bean 是一个 View-Scoped bean。

当我点击按钮时,页面只是重新加载并且定义为被调用的动作没有被调用!简单地说,只需执行页面重新加载。

<p:commandButton style=" float: right; margin-left: 10px; " id="saveEditUser" update=":form" value="Save" action="#{editUser.updateUser()}"  ajax="false" />

但是,当我删除漂亮面孔中的相关行时,我的页面就会找到。 (以下是我在与编辑用户相关的漂亮面孔中定义的)

<url-mapping id="EditUser" onPostback="false">
    <pattern value="/User/Edit/#{initalUserName}" />
    <view-id value="/user/EditUser.xhtml" />
</url-mapping>

【问题讨论】:

    标签: jsf-2 primefaces prettyfaces


    【解决方案1】:

    通过改变漂亮的面孔,它现在可以工作了。

    <url-mapping id="EditUser" onPostback="false">
        <pattern value="/EditUser/" />
        <view-id value="/user/EditUser.xhtml" />
                <query-param name="initalUserName"> #{editUser.initalUserName} </query-param>
    </url-mapping>
    

    注意:即使我在没有反斜杠的情况下再次更改,同样的问题也会发生。

    【讨论】:

      【解决方案2】:

      点击按钮后真的会调用editUser.updateUser() 方法吗? (使用断点确定)

      我猜你的映射应该是:

      <url-mapping id="EditUser" onPostback="false">
          <pattern value="/User/Edit/#{initalUserName}" />
          <view-id value="/user/EditUser.jsf" />
      </url-mapping>
      

      注意.xhtml.jsf 替换

      【讨论】:

      • 感谢您的 cmets。实际上 updateUser() 并没有以任何方式调用,页面只是被刷新了。但我能够通过对映射进行一些更改来解决问题。
      猜你喜欢
      • 1970-01-01
      • 2012-01-26
      • 2012-03-05
      • 2017-09-13
      • 2011-05-25
      • 2015-03-30
      • 2010-11-18
      • 2015-11-24
      • 1970-01-01
      相关资源
      最近更新 更多