首页 > 解决方案 > 使用 servlet 启用禁用字段集

问题描述

我在jsp中有以下字段集。

    <fieldset id="myFieldset" method ="post" action="Values">
<legend> Value Input</legend>
    <table border="0" cellpadding="3" cellspacing="3" width="100%">
        <tbody>
        <tr>
            <td class="form-row" style="font-weight:bold; font-size:10px; color: #006699;">
                <label1>Present date</label1> <input id="presentDate" name="presentDate" type="date">

                <label1>Payment Type</label1>
                <select id="payType" name="payType" style="font-size:11px;text-align: right; width:105px;" >
                    <option value="A">Advance</option>
                    <option value="B">In Arrears</option>
                </select>
                <br/>                               
            </td>

我正在尝试在 servlet 的帮助下通过 java 启用/禁用它。这是我的servlet。

    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        log.debug("doGet");
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        Connection con = null;
        try {
            con = accountPool.getConnection(); //get one connection
            /**Check to see if user is an admin*/
            boolean go = isAdmin(con, request);
            if (go) {
                out.println(displayPage.blankTop(request, response, getServletContext()));

                String text = request.getParameter("myFieldset");
                out.println("myFieldset" + text);
                out.println("<input type='checkbox' name = 'check' onclick=\"validation(this);\"CHECKED />");
                out.println("<script type='text/javascript'>function validation(check) {if(check.checked == true){"
                        + "document.getElementById(\"myFieldset\").disabled = true;"
                        + "} else {"
                        +"document.getElementById(\"myFieldset\").disabled = false;"
                        + "} } </script>");


                out.print("<tr><td>");


                printUserTable(con, out);
                displayPage.bottom();
                out.println("</div>");
                con.close();
            } else {
                /**You are not an admin*/
                out.println(displayPage.top(request, response, getServletContext()) +
                        displayPage.bottom());//You are not an admin
            }


        } catch (Exception e) {
            out.println("Exception: " + e.getMessage());
            e.printStackTrace();
        } finally {
            PooledDataSource.returnConnection(con); //free up this connection
        }

    }

但是,当它不起作用时。out.println 也为字段集返回 null。我不确定我在这里缺少什么。

任何帮助是极大的赞赏。谢谢你。

标签: javaservlets

解决方案


将数据从 Java servlet 传递到 jsp 并在 jsp 中启用/禁用它对我有用。我没有尝试将字段集传递给 servlet,而是使用了我试图禁用的数据。

     request.getSession().setAttribute("PresetValEndDate",PresetValEndDate);

     window.onload = function (e) {
         var datetiMe = "<%= session.getAttribute("PresetValEndDate")%>";
}

推荐阅读