Java 如何使用spring表单中的变量计算textarea?

Java 如何使用spring表单中的变量计算textarea?,java,mysql,spring,jsp,spring-form,Java,Mysql,Spring,Jsp,Spring Form,我正在使用SpringMVC和mysql制作测验web应用程序,我一直在尝试制作表单,以便管理员在创建测验时正确添加答案 在我的表单中,我有四个可能的答案,我可以将所有内容插入mysql,但我总是在我的文本列中将所有四个答案放在一起,我想将它们分开 例如,在mysql表中: id |文本|正确|问题id 1 |回答1,回答2,回答3,回答4 |正确| 1 我每行只需要一个答案 我的jsp和控制器代码: <s:url var="url_create_answer" value="/admin

我正在使用SpringMVC和mysql制作测验web应用程序,我一直在尝试制作表单,以便管理员在创建测验时正确添加答案

在我的表单中,我有四个可能的答案,我可以将所有内容插入mysql,但我总是在我的文本列中将所有四个答案放在一起,我想将它们分开

例如,在mysql表中:

id |文本|正确|问题id

1 |回答1,回答2,回答3,回答4 |正确| 1

我每行只需要一个答案

我的jsp和控制器代码:

<s:url var="url_create_answer" value="/admin/createAnswer"/>
                <f:form action="${url_create_answer}" commandName="command">
                    <table border="1">
                        <c:forEach var="i" begin="1" end="4">

                            <tr>
                                <td>Answer${i}</td>
                                <td><f:textarea rows="5" cols="100"  path="answer.text" placeholder="text answer ${i}"/></td>
                            </tr>
                            <tr>
                                <td>Is Correct?</td>
                                <td><f:radiobutton  path="answer.correct" value="${i}" /></td>
                            </tr>                                
                        </c:forEach>
                        <tr>
                            <td colspan="2" align="right"><button>Create</button>
                            </td>
                        </tr>                          
                    </table>                                
                </td>               
            </tr>
        </f:form>




@Controller
public class CreateAnswerController {

@Autowired
AnswerService answerService;

@RequestMapping(value = "admin/addAnswer", method = RequestMethod.GET)
public String createQuestionForm(Model m) {
    AnswerCommand cmd = new AnswerCommand();
    m.addAttribute("command", cmd);
    return "addAnswer"; // JSP view
}

@RequestMapping(value = "admin/createAnswer", method = RequestMethod.POST)
public String handleCreateAnswer(@ModelAttribute("command") AnswerCommand cmd,BindingResult result, Model m,HttpSession session) {

    for(int i = 1; i <= 4; i++){
    try {           
        Integer questionId = (Integer)(session.getAttribute("questionId"));            
        cmd.getAnswer().setQuestion_id(questionId);
        if(!cmd.getAnswer().getText().equals(""))
            if(cmd.getAnswer().getCorrect() == i){
                cmd.getAnswer().setCorrect(1);
                int answerId = answerService.createAnswer(cmd.getAnswer()); 
            }else{
                cmd.getAnswer().setCorrect(0);
                int answerId = answerService.createAnswer(cmd.getAnswer()); 
            }

    } catch (Exception ex) {
        ex.printStackTrace();
        m.addAttribute("err", "Could not add question to quiz");
        return "addAnswer";
    }
    }
    return "redirect:addQuestion"; //JSP view
}

答复${i}
对吗?
创造
@控制器
公共类CreateAnswerController{
@自动连线
应答服务;
@RequestMapping(value=“admin/addAnswer”,method=RequestMethod.GET)
公共字符串createQuestionForm(模型m){
AnswerCommand cmd=新的AnswerCommand();
m、 addAttribute(“命令”,cmd);
返回“addAnswer”;//JSP视图
}
@RequestMapping(value=“admin/createAnswer”,method=RequestMethod.POST)
公共字符串handleCreateAnswer(@ModelAttribute(“命令”)AnswerCommand cmd,BindingResult,Model m,HttpSession会话){

对于(int i=1;i您可以使用一些唯一的分隔符来存储答案,如@$%!当您从数据库中检索答案时,您可以将其拆分并选择合适的答案并使用它。

我需要将它们分为不同的行,因为我还需要在mysql中为每个答案设置true of false值。