谁会Struts标签多行提交?

解决方案 »

  1.   

    今天早上又有按照上面说的写一个用数组方法的:
    但是还是不行,得不到客户端输入的值,
    可以显示程序已经所给的数组准确的值
    接受页面没有错误页面出现,接受的还是程序所给的,非更新值
    下面是struts-config.xml配置文件
    <form-bean name="string_Teacher_Form" type="string_teacher.String_Teacher_Form" >
         <form-property name="teacher_no" type="java.lang.String[]" />
         <form-property name="teacher_name" type="java.lang.String[]" />     
    </form-bean>
    ……
    <action name="string_Teacher_Form" parameter="method" path="/string_teacher/string_teacher" type="string_teacher.String_Teacher_Action">
          <forward name="view" path="/string_teacher/string_teacher_view.jsp" />
          <forward name="do_message" path="/string_teacher/do_message.jsp" />
        </action>
    String_Teacher_Form.java
    public class String_Teacher_Form extends ActionForm {
        private String[] teacher_no;
        private String[] teacher_name;
        public ActionErrors validate(ActionMapping actionMapping,
                                     HttpServletRequest httpServletRequest) {
                /** @todo: finish this method, this is just the skeleton.*/
            return null;
        }    public void reset(ActionMapping actionMapping,
                          HttpServletRequest servletRequest) {
        }    public void setTeacher_no(String[] teacher_no) {
            this.teacher_no = teacher_no;
        }    public void setTeacher_name(String[] teacher_name) {
            this.teacher_name = teacher_name;
        }    public String[] getTeacher_no() {
            return teacher_no;
        }    public String[] getTeacher_name() {
            return teacher_name;
        }
    }
    下面是String_Teacher_Action.java
    public class String_Teacher_Action extends DispatchAction 
    {
        public ActionForward view(ActionMapping mapping, ActionForm form,
                                     HttpServletRequest request,
                                     HttpServletResponse response) {
            String_Teacher_Form m_form = (String_Teacher_Form) form;
            int m_row=50;
            String[] teacher_name = new String[m_row];
            String[] teacher_no = new String[m_row];        
            for(int i=0;i<m_row;i++)
            {
                teacher_name[i]="teacher_no:"+(i+1);
                teacher_no[i]="teacher_name:"+(i+1);
            }
            m_form.setTeacher_name(teacher_name);
            m_form.setTeacher_no(teacher_no);
            request.setAttribute("form",m_form);
           return mapping.findForward("view");
        }
        public ActionForward do_message(ActionMapping mapping, ActionForm form,
                                 HttpServletRequest request,
                                 HttpServletResponse response) {
        String_Teacher_Form m_form = (String_Teacher_Form) form;
        request.setAttribute("form",m_form);
       return mapping.findForward("do_message");
    }}下面是string_teacher_view.jsp代码
    <html:form action="/string_teacher/string_teacher.do?method=do_message" method="POST" >
    <table align="center" width="80%" border="1" cellpadding="4" cellspacing="1" bordercolor='red'>
    <tr><td>teacher_name</td><td>teacher_no</td></tr>
    <logic:iterate id="item" name="form" property="teacher_name" indexId="index">
    <tr>
    <td>  <html:text  name="form" property="<%="teacher_name["+index+"]"%>" indexed="true"/></td>
    <td>  <html:text  name="form" property="<%="teacher_no["+index+"]"%>" indexed="true"/></td>
    </tr>
    </logic:iterate>
    </table>
    <INPUT TYPE="submit" value="确定">
    </html:form>下面是do_message.jsp
    <html:form action="/string_teacher/string_teacher.do?method=view" method="POST" >
    <table align="center" width="80%" border="1" cellpadding="4" cellspacing="1" bordercolor="steelblue" >
    <tr bgcolor="steelblue"><td>teacher_name</td><td>teacher_no</td></tr>
    <logic:iterate id="item" name="form" property="teacher_name" indexId="index">
    <tr>
    <td>  <html:text  name="form" property="<%="teacher_name["+index+"]"%>" indexed="true"/></td>
    <td>  <html:text  name="form" property="<%="teacher_no["+index+"]"%>" indexed="true"/></td>
    </tr>
    </logic:iterate></table>
    <INPUT TYPE="submit" value="确     定" >
    </html:form>以前这种情况的接受会出现
    javax.servlet.ServletException: BeanUtils.populate
    这样的错误,但是现在不出现了,但是却得不到客户端的输入更新值
    还是以前的值
    为何?
      

  2.   

    a_lone_bird 跟楼主是同一个人?还是什么关系?