将表单键值子集放在范围参数中



我有一个表格(与Spring pojos没有联系),上面有问题和答案。

我想检索一个只包含键值的字符串,如Q1=A1_3&Q2=A2_1等。我使用 Spring @RequestBody 注释来做到这一点。

问题是,如果我在表单中放置一个隐藏字段("代码"),我将在此字符串的末尾获得其值,并且我不想将问答键值与隐藏字段值混合。

这是我的 JSP:

<form name="pollform" method="post" action="1/submitpoll.do">
  <input type="hidden" name="code" value="C1"></input>
    <h4>T1Q1. How do you blabla?</h4>
        <input type="radio" name="Q1" value="A1_1">Very Good</input><br/>
        <input type="radio" name="Q1" value="A1_2">Could be better</input><br/>
        <input type="radio" name="Q1" value="A1_3">Bleah.</input><br/>
    <h4>T1Q2. Are you even bliblibli?</h4>
        <input type="radio" name="Q2" value="A2_1">Yes sure</input><br/>
        <input type="radio" name="Q2" value="A2_2">Not everytime</input><br/>
        <input type="radio" name="Q2" value="A2_3">Never</input><br/>
        <input type="submit" value="Submit"/>
</form>

这样,在我的控制器中使用@RequestBody,我会得到类似Q1=A1_2&Q2=A2_3&code=C1的东西(这不是我想要的,因为我稍后必须在 HashMap 中转换结果字符串)。

那么,如何仅获取表单的问题键值,不包括隐藏的输入值?我应该使用 jstl 还是其他东西?

如果你需要问答对的映射和隐藏的代码参数,我建议引入模型对象,它将包含代码和映射,让弹簧为你做映射。查看此示例。控制器可以保存联系人详细信息的地图,类似于您的问题答案地图。

最新更新