Jsf 获取请求参数时出现空指针异常

Jsf 获取请求参数时出现空指针异常,jsf,Jsf,它在studentName和studentNum中显示“null”,从而导致null指针异常。 有什么办法可以解决这个问题吗?您正在混合POST和GET请求。h:form和h:commandbutton用于POST请求。f:param用于GET请求。如果您想要GET请求,请使用h:按钮或h:链接 要快速了解GET支持,请看它还解释了如何将参数绑定到bean,而无需转到请求参数映射。您正在混合POST和GET请求。h:form和h:commandbutton用于POST请求。f:param用于GE

它在studentName和studentNum中显示“null”,从而导致null指针异常。
有什么办法可以解决这个问题吗?

您正在混合POST和GET请求。h:form和h:commandbutton用于POST请求。f:param用于GET请求。如果您想要GET请求,请使用h:按钮或h:链接


要快速了解GET支持,请看它还解释了如何将参数绑定到bean,而无需转到请求参数映射。

您正在混合POST和GET请求。h:form和h:commandbutton用于POST请求。f:param用于GET请求。如果您想要GET请求,请使用h:按钮或h:链接


要快速了解GET-support,请看它还解释了如何将参数绑定到bean,而无需转到请求参数映射。

我认为
f:param
仅在
h:commandLink
h:outputLink
中有效,但在
h:commandButton
中无效。我认为
f:param
仅在
中有效
h:commandLink
h:outputLink
但不在
h:commandButton
中,我已解决了我的问题。 所犯的错误是我试图在页面加载本身传递参数,试图将参数值设置为value=“#{stuList.stuNumber}”,并解决了错误

        FacesContext context = FacesContext.getCurrentInstance();
        Map requestMap = context.getExternalContext().getRequestParameterMap();
        String studentNum = (String) requestMap.get("sNumber");
        String studentName = (String) requestMap.get("sName");

感谢所有专业人士抽出时间。

我已经解决了我的问题。 所犯的错误是我试图在页面加载本身传递参数,试图将参数值设置为value=“#{stuList.stuNumber}”,并解决了错误

        FacesContext context = FacesContext.getCurrentInstance();
        Map requestMap = context.getExternalContext().getRequestParameterMap();
        String studentNum = (String) requestMap.get("sNumber");
        String studentName = (String) requestMap.get("sName");


感谢所有专业人士的时间。

我的问题是将数据表的两个字段值(sNum和sName)作为输入参数发送到数据库,并在其按钮上获取相应子项的历史记录。单击我的问题是发送两个字段值(sNum和sName)作为数据库的输入参数,并在其按钮上获取相应子级的历史记录,单击OP的可能重复项的可能重复项。在任何问题中,OP从未提到过他使用的JSF版本,但上述情况对于JSF 1.x是正确的。然而,在JSF 2.x中,
h:commandButton
也支持它。@BalusC我使用的是JSF 1.x版本,在任何问题中都没有提到他使用的是哪个JSF版本,但对于JSF 1.x,上述情况是正确的。但是,在JSF2.x中,
h:commandButton
也支持它。@BalusC我使用的是JSF1.x版本
<h:form>
 <h:commandLink id = "historyBtn" value="Student History" action="#{stuBean.showHistory}">
     <f:param name="sNumber" value="#{stuList.stuNumber}" />
     <f:param name="sName" value="#{stuList.stuName}" />
  </h:commandLink></h:form>