Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf 命令链接在具有URL查询字符串的页面中不起作用_Jsf_Jsf 2 - Fatal编程技术网

Jsf 命令链接在具有URL查询字符串的页面中不起作用

Jsf 命令链接在具有URL查询字符串的页面中不起作用,jsf,jsf-2,Jsf,Jsf 2,我在一个页面中有一个,该页面使用带有查询字符串的Outputlink重定向,例如 http://localhost:8070/ChennaiVolunteer/faces/gallery.xhtml?usrId=22 在gallery.xhtml中,我有一个命令链接 <p:commandLink value="List of Activities" action="#{listingActivityData.listofactivities}" ajax="false">

我在一个页面中有一个,该页面使用带有查询字符串的Outputlink重定向,例如

   http://localhost:8070/ChennaiVolunteer/faces/gallery.xhtml?usrId=22
在gallery.xhtml中,我有一个命令链接

  <p:commandLink value="List of Activities" action="#{listingActivityData.listofactivities}"  ajax="false">
                    </p:commandLink>
然后页面重定向到同一个Outputlink,但没有查询字符串

我不确定您为什么会出现此异常,不显示SSCCE也没有帮助,但基于使用MyFaces的stacktrace,您在
中有此链接,并且在创建与表值关联的托管bean时发生异常。bean似乎是请求作用域,设置托管属性失败

stacktrace中应该还有另一个根本原因,它详细地告诉您设置托管bean属性失败的原因

根据确切的功能需求以及您迄今为止设计页面的方式,我可以想出两种解决方案:

  • 将bean放在视图范围而不是请求范围中。这样,每次与同一视图交互时,bean就不会被丢弃和重新创建。只要你与同一个视图交互,它就会一直存在

    @ManagedBean
    @ViewScoped
    public class ListingActivityData {
        // ...
    }
    
  • 通过
    将请求参数传递给后续请求

    
    
  • @ManagedBean
    @ViewScoped
    public class ListingActivityData {
        // ...
    }
    
    <p:commandLink ...>
        <f:param name="usrId" value="#{param.usrId}" />
    </p:commandLink>