Struts bean cannot be found



我有一个问题与Struts。它不能识别bean,即使它在

上方一行被定义

我有这个代码

<logic:iterate id="com" name="Handler" property="commandList">
23:                             <optgroup id="${com.id}" style="display:none;">
24:                                 <logic:iterate id="rem" name="com" property="remotes">
25:                                     <option value="${rem.id}"><bean:write name="rem" property="name"/></option>
26:                                 </logic:iterate>
27:                             </optgroup>
28:                         </logic:iterate>

,我在第25行得到以下错误:

javax.servlet.ServletException: javax.servlet.jsp.JspException: Cannot find bean: "rem" in any scope

这没有意义,因为bean是在上面第24行

定义的

任何想法?由于

如您所述,代码的语法是正确的。我的猜测是,remotes bean的对象之一是空值。在这种情况下,根据struts1引用:

如果要迭代的集合可以包含空值,则循环仍将执行,但不再执行页作用域属性(由Id属性)将为该循环迭代创建。你可以使用<logic:present><logic:notPresent>标签测试这种情况。

将执行<bean:write name="rem" property="name"/>标记,但rem将不存在于任何作用域中。检查null值在您的数组/列表/地图/remotes等,或添加使用<logic:present>标签的测试。

相关内容

  • 没有找到相关文章

最新更新