structs2 使用List批量传递数据问题

在做毕业设计时遇到批量传递数据问题,例如批量传递填空题,选择题的值,在这里记录一下:
首先新建Form表单;
package com.actionForm;
public class QuestionForm {

	private int questionID;         //问题ID
	private String questionContent; //问题的题干
	private String keyA;             //答案A
	private String keyB;            //答案B
	private String keyC;            //答案C
	private String keyD;          //答案D
	private String answer;         //正确答案
	private int examID;            //考试试卷编号

        生成get=、set方法.....



然后新建Action类
public class SubmintAnswersAction extends ActionSupport {
	
	
	private List<QuestionForm> blankQuestions;

        public void setBlankQuestions(List<QuestionForm> blankQuestions) {
		this.blankQuestions = blankQuestions;
	}
        
        public List<QuestionForm> getBlankQuestions() {
		return blankQuestions;
	}

}


jsp页面中引用;
<s:iterator value="#request.blankQuestions" status="status" >
 <tr >
    <td width="9%" height="31">
  <s:hidden name="%{'blankQuestions['+#status.index+'].questionID'}" > </s:hidden>	
  <s:property value="#status.index+1"></s:property>)</span>:</td>
    <td width="38%"><<s:property value="questionContent" /></td>
    <td width="3%"></td>
    <td width="50%">
        <s:textfield name="%{'blankQuestions['+#status.index+'].answer'}" >
        </s:textfield>
     </td>

  </tr>
</s:iterator>


其中Jsp中引用的blankQuestions必须要与Action类中定义的List对象相同;


然后需要建一个资源文件,其作用是告诉框架在处理该 blankQuestions对象时,知道其是什么样的格式的;资源文件的名字为:StudentExaminationManagementAction-conversion.properties,且该文件要与使用该对象的action类必须要放在同一个文件夹下,例如在这里就必须要与 SubmintAnswersAction放在一个文件夹下;在该资源文件中有两个属性值
name= Element_blankQuestions value=form所在的包名;在这里要注意name 属性值必须要以"Element_"开头,后面跟着的是"blankQuestions"必须与自己Action中定义的List<>对象名字相同;


猜你喜欢

转载自sumsunsum.iteye.com/blog/1027694
今日推荐