我在action中在数据库取得一行数据,然后request.setAttribute("empForm",ef),empForm是我的struts中bean的name,
ef是form对象,为什么在页面的form表单里没有值呢,而且用el又可以取到值。

解决方案 »

  1.   

    表单获取数据是从from中获取的,要用empForm.setAAA()方法才应该能获取到,而且form中应该用对应的AAA字段
      

  2.   

    你是怎么跳转到form页面中去的呢?又是怎么取的值的呢?
      

  3.   

    public ActionForward doUpdate(ActionMapping mapping, ActionForm form,
       HttpServletRequest request, HttpServletResponse response) {  Emp emp=((EmpForm)form).getEmp();
      emp=empbiz.get(emp);  
      EmpForm ef=new EmpForm();ef.setEmp(emp);request.setAttribute("empForm",ef);  return mapping.findForward("doUpdate");}
    这是我的跳转方法
      

  4.   

    <html:form action="emp"><html:hidden property="method" value="updateEmployee" /><html:hidden property="emp.id"  />
       <img src="images/button/superadd.gif" style="cursor:hand"
           alt="追加人员" onclick="submit()">
                <font color="#000000">姓&nbsp;&nbsp;&nbsp;&nbsp;名</font><html:text style="width: 100%;" size="28" maxlength="40"
            property="emp.name" />
                      <font color="#000000">电&nbsp;&nbsp;&nbsp;&nbsp;话</font>
                 <html:text style="width:100%" size="28" maxlength="18"
            property="emp.phone" />
               <font color="#000000">性&nbsp;&nbsp;&nbsp;&nbsp;别</font>
           <html:select style="width:100%"
             size="1" property="emp.sex.id">
             <html:option value="13">
              男
             </html:option>
             <html:option value="14">
              女
             </html:option>
            </html:select> </font>
           <font color="#000000">生&nbsp;&nbsp;&nbsp;&nbsp;日</font>
               <html:text style="width:100%" size="28" maxlength="10"
               property="emp.birthday" />
              </html:form>这是我的表单
      

  5.   

    你的配置文件structs-config.xml中配置正确了吗?
    action关联到了actionform了吗?
      

  6.   

    问题解决了,不知道为什么,非要在标签里指定name
      

  7.   

    恩,actionForm是通过action中的name的属性来关联的,