增長頁面和編輯頁面、增長問題和編輯問題的頁面使用的都是相同的頁面,最後調用的方法是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.單擊肯定以後查看設計調查頁面已經新添加了該問題