普通网友 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条)

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器