繁体   English   中英

如何使用Java Servlet在下拉列表中添加数组值

[英]How to add array values in drop down list using java servlet

朋友请告诉我如何使用Java Servlet在下拉列表中添加数组值列表。

请检查以下代码,并告知该代码中的任何错误。

我的Jsp页面... DropDown.jsp

<body onload="callAction()">
<form>
<script type="text/javascript">
    function callAction() {
        document.location.href="http://localhost:8084/Servlet/DropDown";
    }
</script>

<select name="Day"><option>Day</option>
    <c:forEach items="${Data}" var="d">
        <option value="${d}">${d}</option>
    </c:forEach>      
</select>
</form>
</body>

我的Servlet页面DropDown.java

protected void processRequest(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
int[] day=new int[]{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31};

    request.setAttribute("Data", day);

 response.sendRedirect("DropDown.jsp");
}

编辑

的servlet

int[] day=new int[]{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31};
request.setAttribute("Data", day);//<-- no loop required !
//response.sendRedirect("DropDown.jsp");//<-- this will make a new request
request.getRequestDispatcher("DropDown.jsp").forward(request, response);//<-- forward it

DropDown.jsp:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<select name="Day">
    <option>Day</option>
    <c:forEach var="d" items="${Data}">
      <option value="${d}">${d}</option>
    </c:forEach>
</select>
for(int i=1;i<=day.length;i++)
    {
        request.setAttribute("data", day[i]);
    }       

它将覆盖data属性并替换新值。 只需使用数组设置属性。

了request.setAttribute( “数据”,日);

然后在您的select使用JSTL并导入jstl标签库

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<select name="Day">
   <c:foreach items="${data}" var="d">
    <option>${d}</option>
    </c:foreach>
</select>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM