-2
    <pre><h:form>
        <h:panelGrid>
            <h:outputLabel value="Username: " style="font-weight:bold" />
            <h:inputText value="#{user.username}" />
            <h:outputLabel value="Password: " style="font-weight:bold" />
            <h:inputSecret value="#{user.password}" />
            <h:commandButton value="Submit" action="#{user.doLogin()}" />
        </h:panelGrid>
    </h:form>
</pre>

誰かが私の理由を説明してもらえますか?これは私の最初のJSFアプリケーションです。

ava.lang.NullPointerException
    at userSession.getUsername(userSession.java:45)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:601)
4

1 に答える 1

0

getUserNameメソッドの 45 行目を確認してください。おそらく、そのメソッドのパラメーターにはnull参照があります。セッターが null を与えることを意味します。doLogin()メソッドで入力テキストを取得することも試してください

FacesContext facesContext = FacesContext.getCurrentInstance();
ExternalContext externalContext = facesContext.getExternalContext();
Map<String, String> parameterMap = (Map<String, String>) externalContext.getRequestParameterMap();
username=parameterMap.get("id_of_your_inputfield");
于 2013-03-02T16:08:33.750 に答える