radio從資料庫動態取值,選擇提交後儲存結果及IP、對應題目ID。PS:感謝小石同學~
Service層實現:
/**
* 儲存投票結果
*/
public void saveResult(String answer,String userip,int wjtmId)
{
Tptj tptj = new Tptj();
tptj.setAnswer(answer);
tptj.setUserip(userip);
tptj.setWjtmId(wjtmDao.get(wjtmId));
tptjDao.save(tptj);
}
Action層實現:
/**
* 擷取指定課程的問卷題目
*/
public String getQues()
{
setQuestion(voteService.getQueByCourse(courseId));
if (question.size() == 0)
return "error";
for (int i = 0; i < question.size(); i++)
{
List<OptionBean> optionBeans = new ArrayList<OptionBean>();
optionBeans.add(new OptionBean("a", question.get(i).getAcontent()));
optionBeans.add(new OptionBean("b", question.get(i).getBcontent()));
optionBeans.add(new OptionBean("c", question.get(i).getCcontent()));
optionBeans.add(new OptionBean("d", question.get(i).getDcontent()));
optionBeans.add(new OptionBean("e", question.get(i).getEcontent()));
questionBeans.add(new QuestionBean(question.get(i).getId(),question.get(i)
.getTitleContent(), optionBeans));
System.out.println(courseId + " " + question.get(i).getAcontent()
+ " " + question.get(i).getTitleContent());
}
return "success";
}
/**
* 統計投票結果
*
* @return
*/
public String result()
{
/* System.out.println(tptj.getAnswer()); */
HttpServletRequest request=(HttpServletRequest)ServletActionContext.getRequest();
String userip = request.getRemoteAddr();
setQuestion(voteService.getQueByCourse(courseId));
//遍曆所有的問題,擷取投票資訊,分別儲存
for (int i = 0; i < question.size(); i++)
{
int wjtmId = question.get(i).getId();
String answer = (String)request.getParameter("answer"+question.get(i).getId());
System.out.println(wjtmId+" "+answer+" "+userip);
//擷取answer, userip, wjtmId 並儲存
voteService.saveResult(answer,userip,wjtmId);
}
return "success";
}
JSP頁面部分:
<body>
<s:form action="result.action" method="post">
<table align="center">
<s:iterator value="questionBeans" id="list">
<tr>
<td>
<s:hidden name="courseId"/>
<s:property value="#list.questionId" />
</td>
<td>
<s:property value="#list.title" />
</td>
</tr>
<tr>
<td></td>
<td>
<s:radio name="answer%{#list.questionId}" id="answer%{#list.questionId}"
list="%{#list.optionBeans}" listKey="option" listValue="content"></s:radio>
</td>
</tr>
</s:iterator>
<tr>
<td>
<s:submit value="提交"></s:submit>
</td>
</tr>
</table>
</s:form>
</body>