Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 捕获多个复选框选择JSP参数_Java_Arrays_Jsp - Fatal编程技术网

Java 捕获多个复选框选择JSP参数

Java 捕获多个复选框选择JSP参数,java,arrays,jsp,Java,Arrays,Jsp,我发现这显示了如何将多个复选框选择传递到另一个JSP页面,但它对我不起作用。当我尝试获取所选值时,我得到: 复选框:[Ljava.lang.String;@3f3fbd 这是我的两个页面(请温柔一点,这是我第一次尝试使用JSP!) createSHAREfile.jsp基本上运行一个查询来查找所有尚未处理的术语,并在每个术语旁边显示一个复选框: <title>Create SHARE Files</title> </head> <body>

我发现这显示了如何将多个复选框选择传递到另一个JSP页面,但它对我不起作用。当我尝试获取所选值时,我得到:

复选框:[Ljava.lang.String;@3f3fbd

这是我的两个页面(请温柔一点,这是我第一次尝试使用JSP!)

createSHAREfile.jsp基本上运行一个查询来查找所有尚未处理的术语,并在每个术语旁边显示一个复选框:

  <title>Create SHARE Files</title>
</head>
<body>
  <jsp:include page="../menu/header.jsp" flush="false" />
  <form name='SelectSHARETerms' method='post' action="SHAREProcessing.jsp">
    <fieldset><legend>Select Terms to Process for SHARE</legend>
    <table align='left'>
    <% String termDetail = "", currDate = "";
       currentDateTime datetime = new currentDateTime();
       datetime.setCurrDate();
       currDate = datetime.getCurrDate();
       java.sql.Date todayDate = java.sql.Date.valueOf(currDate);
       Terms terms = new Terms();
       ArrayList<Terms.termsTable> termsObjList = new ArrayList<Terms.termsTable>();
       terms.setTermsSql("Select * from Terms where TermDate <= '" + currDate + "' AND VoucherProcessDate Is Null");
       boolean indicator = terms.setListOfTerms();
       if (indicator == true) {
         int size = terms.getListSize();
         termsObjList = terms.getTermsList();
         for (int i=0; i<size; ++i) {
           Terms.termsTable eachTerm = (Terms.termsTable)termsObjList.get(i);
           java.sql.Date termDate = eachTerm.TermDate;
     %>         
      <tr><td><input type=checkbox name=SelectedTermDate id='SelectedTermDate<%=i%>' value="<%=i%>"><%=termDate %></td></tr>
    <%
         }
       }
     %>
      <tr><td align='center'><input type='submit' value='Submit'></input></td></tr>
    </table>
    </fieldset>
    </form>
  </body>
</html>
创建共享文件
选择要处理的共享条款
当按下submit按钮时,我调用SHAREProcessing.jsp。现在,我在这个页面上所做的只是显示用户选择的术语日期,以便我可以将它们用作Java类的参数,该类将为所选术语创建文件:

  <title>SHARE Processing</title>
</head>
<body>
<jsp:include page="../menu/header.jsp" flush="false" />
<table width='50%' align='center' border='1'>
 <% String[] SelectedValues = request.getParameterValues("SelectedTermDate");
    System.out.println("checked boxes: " + SelectedValues);
  %>
</body>
</html>
共享处理
下面是我试图使用另一篇文章中显示的代码的地方,但它不起作用:(

谢谢你的帮助!
Leslie

您正试图使用System.out.println打印整个字符串数组,因此您得到了它。它可能工作正常

试试这个:

System.out.println("checked boxes:");
for (int i = 0; i < SelectedValues.length; ++i)
  System.out.println("  " + SelectedValues[i]);
System.out.println(“复选框:”);
对于(int i=0;i

另外,我请求你:在业余时间,了解一下现代web框架(Java有无数种),努力摆脱在JSP文件中编写Java代码的痛苦世界。

你正试图用System.out.println打印整个字符串数组,你就明白了。它可能工作得很好

试试这个:

System.out.println("checked boxes:");
for (int i = 0; i < SelectedValues.length; ++i)
  System.out.println("  " + SelectedValues[i]);
System.out.println(“复选框:”);
对于(int i=0;i

另外,我请求你:在业余时间,了解一下现代web框架(Java有无数种),努力摆脱在JSP文件中编写Java的痛苦世界。

你只需要面对默认值

只需在其上循环并打印每个项目,或者使用。下面是一个:


也就是说,这个问题实际上与JSP无关。它只是一种视图技术。问题在于基本Java代码——您在错误的位置编写的Java代码,是在JSP文件而不是Java类中编写的。我非常同意以下评论,即在JSP文件中编写原始Java代码是一种不良做法。。

您只是fac正在初始化的默认值

只需在其上循环并打印每个项目,或者使用。下面是一个:


也就是说,这个问题实际上与JSP无关。它只是一种视图技术。问题在于基本Java代码——您在错误的位置编写的Java代码,是在JSP文件而不是Java类中编写的。我非常同意这样的评论,即在JSP文件中编写原始Java代码是一种不良做法。。

我强烈反对ecommend在同一页面中使用Expression Language(EL)+servlets,而不是旧的skool mishmash Java和标记代码。我强烈建议在同一页面中使用Expression Language(EL)+servlets,而不是旧的skool mishmash Java和标记代码。首先可以看到数不清的代码,最高五个(JSF、Struts2、Spring MVC、Stripes和Wicket)。别吓唬他;)我是Stripes的超级粉丝,但我不想改变信仰。@BalusC-这是“她的”LOL@Pointy-非常感谢你的帮助……我会看看web框架,但我不是这里的大型web程序员,只是一个牡丹!这完全符合我的要求(打印0、1、2),但我真正需要做的是获取该参数中的日期值,并将其传递到另一个查询中…@Leslie:oh!!非常抱歉,我没有注意到您用作昵称的婚前姓。您的新化身确实澄清了很多:)您只是将每个复选框的“value”属性设置为“I”,不是日期。数不清的最高五名都可以先看(JSF、Struts2、Spring MVC、Stripes和Wicket)。别吓唬他;)我是Stripes的超级粉丝,但我不想改变信仰。@BalusC-是“她”LOL@Pointy-非常感谢您的帮助…我将研究web框架,但我不是这里的大型web程序员,只是一个程序员!这正是我所要求的(打印0、1、2),但我真正需要做的是获取该参数中的日期值,并将其传递到另一个查询…@Leslie:噢!!我非常抱歉,我没有注意到您用作昵称的婚前姓。您的新化身确实澄清了很多:)您只是将每个复选框的“值”属性设置为“I”,而不是日期。