пройти мимо действий пользователя - PullRequest
0 голосов
/ 19 марта 2011

У меня есть страница JSP.На странице у меня есть 3 радио кнопки.Когда я нажимаю кнопку, URL-адрес отправляется сервлету действия, и та же страница снова загружается.Но когда новая страница перезагружается снова, переключатель, который я проверял ранее, не проверяется.Я хочу как-то запомнить и проверить это снова, чтобы при перезагрузке страницы пользователь мог видеть, на какую радио-кнопку он нажал, поскольку есть три радио-кнопки и все выполняют одну и ту же перезагрузку страницы.Любые предложения, как я могу сделать это ..?

Ответы [ 2 ]

0 голосов
/ 19 марта 2011

Есть много способов сделать это.Я приведу пример для этого.Я не очень хорош в этом, но вы можете улучшить мое кодирование.Вот оно;

Я предполагаю, что вы уже знаете, как отправить запрос на сервер и переслать его.

index.jsp

    <%
        int chkOpt = 0;
        if(request.getAttribute("checked") != null){
            chkOpt = Integer.parseInt(request.getAttribute("checked").toString());  
        }
    %>

<form action="reload" method="post">
<input type="radio" name="option" value="1" <% if(chkOpt == 1) out.print("CHECKED"); %> />First Radio Button
<input type="radio" name="option" value="2" <% if(chkOpt == 2) out.print("CHECKED"); %> />Second Radio Button
<input type="radio" name="option" value="3" <% if(chkOpt == 3) out.print("CHECKED"); %> />Third Radio Button
<input type="submit">
</form>

Обновить сервлет

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

    String optval = null;
    if(request.getParameter("option") != null){
        optval = request.getParameter("option").toString(); 
    }

    request.setAttribute("checked", optval);
    getServletContext().getRequestDispatcher("/index.jsp").forward(request, response);b
}

Главное здесь - это то, что у вас есть переменная, которая будет обрабатывать, какая опция была нажата.

Надеюсь, вы получили мою базу баллов на моем примере.Это уже работает, просто попытайтесь понять, как это сделать.Примечание: это только jsp и сервлет

0 голосов
/ 19 марта 2011

Я не знаком с JSP / Struts, но я делаю это в PHP. Вы можете преобразовать его в код JSP:

<form method="POST">
<?php
    // labels for our radio buttons
    $labels = array('Value 0', 'Value 1', 'Value 2');

    // get the submitted value, or set to -1
    $radio = (isset($_POST['radio']) ? (int)$_POST['radio'] : -1);

    // loop for each label
    for ($r=0; $r<count($labels); $r++) {

        // if current iteration matches submitted value, check the radio
        $checked = ($radio == $r ? 'CHECKED' : '');

        // output radio button and label
        echo <<< HTML
    <input type="radio"  id="radio{$r}"  name="radio" value="{$r}" {$checked}>
    <label for="radio{$r}"> {$labels[$r]}</label>
HTML;
    }
?>
    <input type="submit" value="Submit">
</form>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...