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>