普通网友 2008-09-18 02:26
浏览 171
已采纳

关于struts中html:select 出现Cannot find bean: "list" in

我在网上找到个例子, 仿照做. 静态的没有问题. 但动态的就出来问题了. 各位帮忙看看问题怎么解决呢.

Servlet.service() for servlet jsp threw exception
javax.servlet.jsp.JspException: Cannot find bean: "list" in any scope

Action相关代码:

public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
ModelListForm modelListForm = (ModelListForm) form;

    List<Objects> modelList ;  
    modelList = modelMgr.getAllModelNames();
    request.setAttribute("list", modelList);      
    return mapping.getInputForward();
}

Objects类里面有 id 和 name两个属性. 也有相关的 getter, setter方法.

ActionForm相关代码:

private String select;
public String getSelect() {
return select;
}
public void setSelect(String select) {
this.select = select;
}

JSP相关代码:





/html:select

                </html:form>

struts配置文件相关:
attribute="modelListForm"
input="/pages/modelBody.jsp"
name="modelListForm"
path="/modelList"
scope="request"
/>

网上那个例子说, 如果直接在地址栏输入...modelList.do而不是/pages/modelBody.jsp就不会有这个问题. 但我想先读入页面, 然后按submit后, 再读入动态数据. 应该如何解决呢?
[b]问题补充:[/b]
谢谢1L的回复. 但是这个方法是不是只能判断 list属性 是否在当前scope呢? 可我的问题现在报错说,list属性不存在。这个应该如何解决呢?

  • 写回答

2条回答 默认 最新

  • iteye_18036 2008-09-18 08:04
    关注

    楼主可以嵌套标签,用logic:presentlogic:notPresentlogic:present用于检查request对象传递的参数是否存在,存在则执行标签体的内容,而logic:notPresent则是在logic:present标签检查的对象不存在的时候,执行标签体的内容。你的代码可以这样改:
    [code="java"]




    /html:select
    /logic:present


    //不存在时,你要执行的代码
    /logic:notPresent[/code]不知道楼主要的是不是这样的效果,希望对楼主有所启发

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?