增长页面和编辑页面、增长问题和编辑问题的页面使用的都是相同的页面,最后调用的方法是saveOrUpdate方法,因此只说一个就能够了。前端
1、增长页面数据库
比较简单,略。流程以下:数组
单击“增长页”超连接->Action转发到增长页的jsp页面->填写表单并提交->PageAction保存页面到数据库->重定向到SurveyAction_designSurvey.actionjsp
2、增长问题this
增长问题是比较棘手的,由于有九种类型的问题,是否是须要针对这九种类型的问题设计九种类型的页面呢?spa
除了设计问题的页面不相同以外其他部分都是相同的。流程以下:设计
单击“增长问题”超连接->Action转发到选择问题类型的界面->选择问题类型并提交->QuestionAction判断问题类型并转发到指定的设计问题的页面->填写设计问题的表单->提交给QuestionAction保存,QuestionAction调用相关方法保存问题到数据库,最后重定向到SurveyAction.designSurveyAction.action显示出新增长的问题。3d
须要注意的两个问题有:code
1.转发到设计问题的页面,有九种类型的问题,使用问题的数组坐标来判断是哪种类型的问题,使用五种类型的页面来显示九种类型问题的设计方案:orm
1 <result name="0">/question/noneMatrixWithOtherQuestionDesign.jsp</result> 2 <result name="1">/question/noneMatrixWithOtherQuestionDesign.jsp</result> 3 <result name="2">/question/noneMatrixWithOtherQuestionDesign.jsp</result> 4 <result name="3">/question/noneMatrixWithOtherQuestionDesign.jsp</result> 5 6 <result name="4">/question/noneMatrixSelectQuestionDesign.jsp</result> 7 <result name="5">/question/noneMatrixTextQuestionDesign.jsp</result> 8 9 <result name="6">/question/matrixNormalQuestionDesign.jsp</result> 10 <result name="7">/question/matrixNormalQuestionDesign.jsp</result> 11 <result name="8">/question/matrixSelectQuestionDesign.jsp</result>
设计页面的显示略。关键是怎么针对这九种类型的问题进行保存。
2.怎么保存这九种类型的问题
不要想的太复杂了,须要提供的字段都在设计页面上给出了,因此直接在Action中保存model对象就能够了。
1 //保存Question对象的方法 2 public String saveQuestion() throws Exception{ 3 Page page=pageService.getPage(pageId); 4 this.model.setPage(page); 5 this.questionService.saveQuestion(this.model); 6 return "toDesignSurveyPageAction"; 7 }
可是须要注意的是答案的拆分,因为前端页面中传过来的是字符串,因此须要将字符串进行拆分处理成字符数组,这里在set方法中进行处理,例如:
3、效果显示
1.单击“设计”
2.给第一页增长问题
3.选择问题类型
4.选择比价复杂的矩阵式下拉列表
5.单击肯定以后查看设计调查页面已经新添加了该问题