在页面上通过java代码得到list的相关信息,放到request中就好了
<%
   List list = xxx.getList();
   request.setAttribute("mylist",list);%>
<html:optionsCollection property="${mylist}" label="dizhi" value="id"/> 

解决方案 »

  1.   

    首先你的 <html:form action="/user"> 这里应该加上.do
    第一次页面加载时数据就绑定在下拉框中
    你可以在body里加上页面加载事件
    <DODY onload="a()">
    <script language="javascript" type="text/javascript">
    function  a()
    {
        window.location.href = "user.do" ;
    }
    </script>
    这样实际上就是你在访问页面的同时,.do已经开始工作,去后台处理sql,然后把结果集返回给这个页面,select里一接收,就可以实现数据绑定在下拉框中了
      

  2.   

    这个方法我用过,因为user.do还会返回这个页面,这样会反复的加载这个页面。形成死循环。
      

  3.   

    页面中          <html:options  collection="show" property="value" labelProperty="label"/>
    后台
    LabelValueBean test=new LabelValueBean();
    test.setLabel(jsjbxx_xm1);
    test.setValue(join1);
    list.add(test);
      

  4.   

    2楼肯定会是死循环地,他是onload事件,不死才怪呢,
    我的想法是直接执行.do啊,需要request,是不是提示为空的错误呢,如果是   ,不是是提示什么错误啊,拿出来看看
    String temp=request.getParameter("temp");
    if(temp==null){
      干嘛干嘛(可能什么都做,第一次进来啊,)
    } else (
         说明你是从页面进来的,可能对什么进行操作啊,
    )
      

  5.   

    进入页面之前在action中用request.setAttribute()方法把选项值传到页面去。
      

  6.   

    很感谢楼上各位的意见。
    已经搞定,办法还是只有在jsp页面中手工绑定actionform。不能直接访问action再转过来。action中没有request,它必定报错,即使在action类中做判断在写入request也没有用。大约是actionservlet引用了request的关系。我的实现代码如下:
    在jsp页面中
           <%
    //先判断requestt中userForm是否为空,为空说明是第一次登陆页面
    if(request.getAttribute("userForm")==null)
    {
        //实例化UserForm
    com.yourcompany.struts.form.UserForm userForm=new com.yourcompany.struts.form.UserForm();
    //实例化取list的类
    com.yourcompany.struts.bean.Dizhis dizhi=new com.yourcompany.struts.bean.Dizhis();
    //取数据源list赋值给userForm的list属性
    userForm.setList(dizhi.getDizhi());
    //写回request
    request.setAttribute("userForm",userForm);
    }

     %>