如何从动态表单中获取json作为输出

时间:2015-02-25 17:01:09

标签: json jsp servlets

我想为主题输入标记,不会从db生成主题, 所以我有标记对象如下:

class Mark
{
    int subCode;
    int internal;
    int oral;
    int term;

  //....getter and setter method
 }

在exp的形式中,我有6个主题 所以在我的jsp代码中      

        <%
        for ( int i =0 ; i<6 ; i++){
        %>
        <input type="hidden"  name="subCode" value="<%=i%>"  >
        Internal : <input type="number" name='internal' >
oral : <input type="number" name='oral' >
term : <input type="number" name='term' >
   <% } %>
  <input type="submit">

所以如何将这个6 Mark对象传递到另一个servlet以便使用JSON进行处理。

1 个答案:

答案 0 :(得分:0)

如果您确定将有6个动态文本框,为什么不这样做:

JSP:

<input type="hidden"  name="noSubject" value="${noSubject}">
<c:forEach var="i" begin="1" end="${noSubject}">
  <input type="hidden"  name="subCode${i}" value="${i}">
  Internal : <input type="number" name="internal${i}" >
  oral : <input type="number" name="oral${i}" >
  term : <input type="number" name="term${i}" >   
</c:forEach>

的Servlet

List<Mark> marksList= new ArrayList<Mark>();
int noSubject = Integer.parseInt(request.getParameter("noSubject");
for(int i=1; i< noSubject + 1; i++){
   int subCode=Integer.parseInt(request.getParameter("subCode"+i));
   int internal=Integer.parseInt(request.getParameter("internal"+i));
   int oral=Integer.parseInt(request.getParameter("oral"+i));
   int term=Integer.parseInt(request.getParameter("term"+i));
   Mark mark = new Mark();
   mark.setSubCode(subCode);
   ...//more setters
   marksList.add(mark);
}