迫切需要回答,谢谢!!!!!请问在ssh中从action提取数据库list作为jsp页面的动态下拉选项,谢谢!

action 代码为:
// 获取公司下拉列表的list
List listCompany = new ArrayList();
listCompany = companyServiceAction.list("from Company c");
request.setAttribute("listCompany", listCompany);
jsp代码为:



公司名称


name="listCompany" label="company.name" value="company.id" />
/html:select

我的问题是:
在页面打开的时候提示javax.servlet.jsp.JspException: Cannot find bean listCompany in any scope.就是找不listCompany. 谢谢各位!

如果你刚进到页面 这样是绝对路径 没有通过action 你想 jsp页面中要用到的变量也就是list集合可能有值么? 它的值怎么来? 你是在调用action请求后 赋值给他的
此时你的报错信息是在scope(作用域)没有找到对象,也就是说可能你在xml中配置action的时候也许忘写scope属性了。
[code="xml"] name="SysUserAF"
path="/login"
scope="request"
type="org.springframework.web.struts.DelegatingActionProxy"
parameter="operate">


[/code]
这是struts1.x的配置方式
在一个你的 举例:userForm动作表单有一个如下所示的ArrayList类型的userList属性,相应的set,get方法,通过在action中设置好userForm后,request.setAttribute("userForm",userForm);
在jsp页面:

property="userList"/>
/html:select

对于listCompany对象,未生成

public void setListCompany(ListCompany listCompany)

public ListCompany getListCompany()

方法吧

你没有设置取值范围 比如:request session application
scope="request"

看看你的xml中写没写

My God,我还以为是Struts2

没有循环list吧。。。

页面直接使用request.getattribute("listCompany");能获取到不?

[quote]我测试过了在action可以获取到了list

可我那个页面刚进去的时候没有调用该action
这样的话 action里面的list能够在页面直接获取吗? [/quote]

例如你的Action为
findAction()

页面为
show.jsp

那么你必须通过访问findAction,然后该action返回跳转到show.jsp页面才能获取到listCompany