gpt4 book ai didi

jsf - 制作p :commandButton work like h:button

转载 作者:行者123 更新时间:2023-12-04 20:23:49 24 4
gpt4 key购买 nike

我的webapp中有以下工作代码:

<h:button value="Edit user..." outcome="/public/user" >
<f:param name="userName" value="#{authBean.authUser}"/>
</h:button>

它能做什么:
  • 它使按钮发送GET
  • 它在URL中传递指定的参数,使其可收藏。

  • 我需要的:
  • 应该像上面的h:button一样工作(发送GET)
  • 该按钮应类似于其他Primefaces按钮(例如,装饰有图像等)。

  • 这是我能得到的最接近的:
    <p:commandButton value="Edit user..." action="/public/user?faces-redirect=true" ajax="false" immediate="true" >
    <f:param name="userName" value="#{authBean.authUser}"/>
    </p:commandButton>

    它发送一个POST,该POST使用GET重定向到新的URL。但是,该参数会在此过程中丢失。

    另一个想法:
    <p:linkButton value="Edit user..." href="http://localhost:8080/contextpath/faces/public/user.xhtml">
    <f:param name="userName" value="#{authBean.authUser}"/>
    </p:linkButton>

    GET请求被中止(根据Firebug,???),并且当前页面再次发布。

    这样做的正确方法是什么?

    更新:这有效(在一个空页面上,没有p:dataTable):
    <p:linkButton value="Edit user..." href="http://localhost:8080/contextpath/faces/public/user.xhtml?userName=myusername">

    但这不是:
    <p:linkButton value="Edit user..." href="http://localhost:8080/contextpath/faces/public/user.xhtml?userName=myusername&secondParam=otherValue">

    后者导致:

    500: javax.servlet.ServletException: Error Parsing /sample0.xhtml: Error Traced[line: 14] The reference to entity "secondParam" must end with the ';' delimiter.



    UPDATE2 :&应转义:
    <p:linkButton value="Edit user..." href="http://localhost:8080/contextpath/faces/public/user.xhtml?userName=myusername&amp;secondParam=otherValue">

    看起来不错...但是我仍然无法获取GET并重新发送POST:

    alt text http://img64.imageshack.us/img64/1017/primefaceslinkbutton.jpg

    这是我一直尝试使用的完整的空白页面:
    <?xml version='1.0' encoding='UTF-8' ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:c="http://java.sun.com/jsp/jstl/core"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:p="http://primefaces.prime.com.tr/ui">
    <h:head />
    <h:body>
    <h:form>
    <p:linkButton value="Click me" href="http://stackoverflow.com" />
    </h:form>
    </h:body>
    </html>

    Primefaces 2.1版本。

    最佳答案

    在PrimeFaces 2.2。中,我们将弃用linkBut​​ton并引入p:button。发行票;

    http://code.google.com/p/primefaces/issues/detail?id=1037

    关于jsf - 制作p :commandButton work like h:button,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3332824/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com