Java getAttribute()方法返回500个错误代码

Java getAttribute()方法返回500个错误代码,java,jquery,ajax,jsp,struts2,Java,Jquery,Ajax,Jsp,Struts2,在我的web应用程序中,我为代码下方的id生成动态内容 function lookup(){ <% List<UserOrganization> el = (List<UserOrganization>) request.getAttribute("uselist");%> <% for (int i = 0; i < el.size(); i++) {%> var email<%out.print(i);%>

在我的web应用程序中,我为代码下方的id生成动态内容

function lookup(){
<% List<UserOrganization> el = (List<UserOrganization>) request.getAttribute("uselist");%>
<% for (int i = 0; i < el.size(); i++) {%>   
        var email<%out.print(i);%>="<%out.print(el.get(i).getUser_1().getEmailId());%>";
        $.ajax({
            type: "POST",
            url: "EveConnectOutletsCount",
            data: {
                email:email<%out.print(i);%>
            },

            success: function(data) {

                $('#ec<%out.print(i);%>').html(data)

            }  
        });
<% }%>           
}
函数查找(){
var email=“”;
$.ajax({
类型:“POST”,
url:“EveConnectOutletScont”,
数据:{
电邮:电邮
},
成功:功能(数据){
$('#ec').html(数据)
}  
});
}
JSP页面:

<s:iterator value="uselist">  
      <span id="ec<%=n%>"></span>
</s:iterator>

如果
uselist
具有某些值,则此页面执行良好。如果
uselist
为空,则抛出500个错误代码。
如何避免此错误?

您可以从请求映射访问请求属性。如果需要索引ID,请使用状态索引

<s:iterator value="#request.uselist" status="st">  
  <span id="ec<s:property value='%{#st.index}'/>"></span>
</s:iterator>

我通过添加以下代码解决了这个问题

function lookup() {
'<s:if test="uselist.size()>0">'
  <% List<UserOrganization> el = (List<UserOrganization>) request.getAttribute("uselist");%>
<% for (int i = 0; i < el.size(); i++) {%>    
    var email<%out.print(i);%>="<%out.print(el.get(i).getUser_1().getEmailId());%>";
    $.ajax({
        type: "POST",
        url: "EveConnectOutletsCount",
        data: {
            email:email<%out.print(i);%>
        },
        success: function(data) {
            $('#ec<%out.print(i);%>').html(data)
        }
    });
<% }%>
'</s:if>'
}
函数查找(){
''
var email=“”;
$.ajax({
类型:“POST”,
url:“EveConnectOutletScont”,
数据:{
电邮:电邮
},
成功:功能(数据){
$('#ec').html(数据)
}
});
''
}

因此,如果列表为
null
,我的代码将不会生成null指针异常。

您确定如果“uselist为空”而不是“uselist为空”,它会抛出错误,这是完全不同的事情吗?首先检查它是否为null?异常将在这一行中抛出。Post stacktrace并删除/替换此scriptlet代码(如果它不工作)。not@dave,因为我使用s:if检查uselist是否为空。因此,如果uselist为空,则在查找函数中不会执行任何操作。然后uselist如何引发空指针异常。我检查了此代码,它不会抛出空指针异常您不能对空引用调用方法
size()
是一种方法。