nullpointexception当我使用在scriptlet中声明的那些变量时

时间:2018-03-29 11:33:27

标签: java jsp scriptlet

我在< %%>内部获得了以下代码:在我的jsp文件中。

这里有两个问题:

为什么我的断点不会在这些行中停止?

当我在我的jsp中的某个地方使用这些变量时,为什么会发生nullpointerException,这些<%= beneficiariesList%>。在显示视图中eclipse中的这个值调试说"受益人名单无法解决" 。例如,tipoBeneciarioDatosClientes表示的值为" XXXX"

<% ...... bla bla bla

    String    tipoBeneficiarioDatosClientes = "XXXXX";
    String    beneficiariesList             = "XXXXX";
    if (null != polizaBean.xxxxx()  &&  !polizaBean.getTipoBeneficiario().isEmpty()) {
    tipoBeneficiarioDatosClientes = polizaBean.xxxxxx();

    if(tipoBeneficiarioDatosClientes.equalsIgnoreCase("xxxxx")) {

        JSONArray beneficiaries      = JSONArray.fromObject(polizaBean.xxxxx());
        beneficiariesList = beneficiaries.toString(); 
    }
}

%>

1 个答案:

答案 0 :(得分:1)

您有一个NullPointerException,因为您在 Scriptlets <% ... %>中使用的变量仅在该scriplet内可用。

如果您要声明表达式 <%= %>中可用的变量,则需要在 Declations <%! %>中声明它们。< / p>

来自JSP 2.0规范:

  

声明用于声明变量和方法   JSP页面中使用的脚本语言。   的 ...   初始化JSP页面时初始化声明   可用于其他声明,scriptlet和表达式。