数组提交出现:
javax.servlet.ServletException: BeanUtils.populate
使用list提交出现
无法更新,数据还是以前的
我的使用list代码如下
<html:form method="post" action="/course/course.do?type=do_message">
<logic:iterate id="a" name="list" property="course_arraylist" indexId="index">
<html:text name="a" property="course_no" indexed="true" />
<html:text name="a" property="course_name" indexed="true"/> <br>
</logic:iterate>
<html:submit value="submit" />
</html:form>
*Action.java
public ActionForward view(ActionMapping mapping, ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
{
CourseForm m_form = (CourseForm) form;
AutoArrayList m_list= new AutoArrayList(Course.class);
for(int i=0;i<3;i++)
{
Course m_course=new Course();
m_course.setCourse_no(""+i);
m_course.setCourse_name("name"+i);
m_list.add(m_course); //2维以上的数组
}
m_form.setCourse_arraylist(m_list);
request.setAttribute("list",m_form);
return mapping.findForward("view");
}
这个函数可以很好显示数据,
但是就是无法从页面得到数据的更新,我输入后,得到的还是原来的值
public ActionForward do_message(ActionMapping mapping, ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
{
CourseForm m_form = (CourseForm) form;
List m_list=(List)m_form.getCourse_arraylist();
}
这时扩展ArrayList
package course;import java.util.ArrayList;public class AutoArrayList extends ArrayList { private Class itemClass; public AutoArrayList(Class itemClass)
{ this.itemClass = itemClass;
} public Object get(int index)
{
try {
while (index >= size())
{
add(itemClass.newInstance());
}
}
catch (Exception e)
{
e.printStackTrace();
}
return super.get(index);
}
}*Form.java
private List course_arraylist = new AutoArrayList(Course.class);无法更新,这是是么原因呢?
谁有这两种方法的完整例子?
分不够还加
刚发错地方了
javax.servlet.ServletException: BeanUtils.populate
使用list提交出现
无法更新,数据还是以前的
我的使用list代码如下
<html:form method="post" action="/course/course.do?type=do_message">
<logic:iterate id="a" name="list" property="course_arraylist" indexId="index">
<html:text name="a" property="course_no" indexed="true" />
<html:text name="a" property="course_name" indexed="true"/> <br>
</logic:iterate>
<html:submit value="submit" />
</html:form>
*Action.java
public ActionForward view(ActionMapping mapping, ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
{
CourseForm m_form = (CourseForm) form;
AutoArrayList m_list= new AutoArrayList(Course.class);
for(int i=0;i<3;i++)
{
Course m_course=new Course();
m_course.setCourse_no(""+i);
m_course.setCourse_name("name"+i);
m_list.add(m_course); //2维以上的数组
}
m_form.setCourse_arraylist(m_list);
request.setAttribute("list",m_form);
return mapping.findForward("view");
}
这个函数可以很好显示数据,
但是就是无法从页面得到数据的更新,我输入后,得到的还是原来的值
public ActionForward do_message(ActionMapping mapping, ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
{
CourseForm m_form = (CourseForm) form;
List m_list=(List)m_form.getCourse_arraylist();
}
这时扩展ArrayList
package course;import java.util.ArrayList;public class AutoArrayList extends ArrayList { private Class itemClass; public AutoArrayList(Class itemClass)
{ this.itemClass = itemClass;
} public Object get(int index)
{
try {
while (index >= size())
{
add(itemClass.newInstance());
}
}
catch (Exception e)
{
e.printStackTrace();
}
return super.get(index);
}
}*Form.java
private List course_arraylist = new AutoArrayList(Course.class);无法更新,这是是么原因呢?
谁有这两种方法的完整例子?
分不够还加
刚发错地方了
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货