2011-07-05 46 views
0

我正在使用RestfbApi来获取朋友的姓名并在网页上显示。我还希望每个朋友都有一个相应的复选框,因为使用表标记,我有朋友的名字以及相应的复选框。
当我动态生成复选框时,如何确保在我的应用运行时检查哪些复选框。这种情况是,如果我检查了五个朋友并按帖子到墙上的按钮,墙壁应该张贴给所有五个朋友。我知道如何发布墙只是想知道如何将用户选择的朋友(选中的)映射到java代码。通过servlet生成动态复选框?

protected void doGet(HttpServletRequest request, HttpServletResponse response) 
throws ServletException  
{ 


    User user = facebookClient.fetchObject("me", User.class); 
    response.setContentType("text/html"); 
    PrintWriter out = response.getWriter(); 


    String docType = 
     "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 " + 
     "Transitional//EN\">\n"; 
     out.println(docType + 
     "<HTML>\n" + 
     "<HEAD><TITLE>Hello</TITLE></HEAD>\n" + 
     "<BODY BGCOLOR=\"#FDF5E6\">\n" + 
     "<H1></H1>\n" + 
     "</BODY></HTML>"); 




JsonObject accounts = facebookClient.fetchObject("me/friends",JsonObject.class); 
        JsonArray data = accounts.getJsonArray("data"); 

       for(int i = 0; i < data.length(); i++) 
         { 
        String id = data.getJsonObject(i).getString("id"); 
       Double int1 = Double.parseDouble(id); 
        String strName = data.getJsonObject(i).getString("name"); 

        out.println("<table>");        

          out.println("<tr><td> <input type='checkbox' name='wahtevername' value='"+int1 +"'>"+strName+" </td></tr>"); 

         out.println("</table>"); 

         } 

        } 
out.println(docType +"<form method=\"GET\">"+"<input type=\"submit\" value=\"Post to wall\" name=\"option\">"+"</form>");       

回答

2

使用request.gatParameterValues("whatevername")来获取所选复选框的值的数组。

(顺便说一句,这将是更好的地方在JSP中的HTML代码。设置列表作为请求属性,然后使用JSTL的<c:forEach>迭代)

+0

它doestnt加载网页服务器,抛出NullPointerException异常...错了吗? – vibhor

+1

@vibhor:您的输入元素不在表单内。 – BalusC