如何在刷新jsp页面后保持单选按钮选中点击单选按钮



我有两个单选按钮,我想在点击单选按钮后刷新页面,我怎么能做到这一点,我想了太多但没能做到,我需要你的帮助。

<script>
 $(document).ready(function() {
        $(document).on('click', 'input[type=radio][name=test1]', function() 
            { 
            var clicked = localStorage['clicked'];
           $('.' + related_class).prop('disabled', false); 
          $('input[type=radio][name=test1]').not(':checked').each(function()
             { var other_class = $(this).val(); 
          $('.' + other_class).prop('disabled', true); 
        }); 
      });
   });    
 </script>

这是员工的第一个单选按钮

<td>
    <label for="radio1">
        <input type="radio" name="test1" value="radio1" /><b>Employee</b>
    </label>    
    Select Employee 
        <input type="image" img  src="resources/image/search.png"name="for_radio1[]" class="radio1"  disabled="true" onclick="openWindow()"/> 
</td>

这是角色的另一个单选按钮。

<td>
    <form action="/Submitrole" method="post" model="command">
        <label for="radio2"><input type="radio" name="test1" value="radio2"/>Role </label><br>
                        Select Role :<select  name="roleName"  class="radio2" disabled="true" style="width: 80px;">
                                        <c:forEach items="${listRole}" var="role">
                                            <option value="${role.roleName}">
                                                    <c:out value="${role.roleName}" />
                                            </option>
                                        </c:forEach>
                                    </select>
        <input type="submit" value ="Check">
    </form>
</td>

控制器。

 @RequestMapping(value = "/compplan", method = RequestMethod.GET)
public ModelAndView listRules(ModelMap model, HttpServletRequest request,HttpSession session, SessionStatus status) {
    roleApi.listOfRoles();
    ruleApi.listOfRules();
    model.addAttribute("listRole", roleApi.listOfRoles());
    model.addAttribute("listRules", ruleApi.listOfRules());
    RoleUI object = (RoleUI) request.getSession().getAttribute("roleName");
    if (object != null ) {
        RuleAssignment rAssdtail = ruleAssApi.searchAssignedRule(object.getRoleName());
        List<RuleAssignmentDetails> ptr1 = rAssdtail.getRuleAssignmentDetails();
        ArrayList<Rule> rl1 = new ArrayList<Rule>();
        List<RuleParameter> parameterList = new ArrayList<RuleParameter>();
        Iterator<RuleAssignmentDetails> it1 = ptr1.iterator();
        while (it1.hasNext()) {
            RuleAssignmentDetails rp = (RuleAssignmentDetails) it1.next();
            Rule r1 = rp.getRule();
            List<RuleParameter> ptr2 = r1.getRuleParameter();
            Iterator it = ptr2.iterator();
            while (it.hasNext()) {
                RuleParameter r2 = (RuleParameter) it.next();
                parameterList.add(r2);
            }
            rl1.add(r1);
        }       
        model.addAttribute("List2", rl1);
        status.setComplete();
        session.removeAttribute("roleName");
       return new ModelAndView("CompPlan"); 
    }
    EmployeeUI object1 = (EmployeeUI) request.getSession().getAttribute("EmployeeName");
    if(object1 != null) {
        RuleAssignment rAssdtail = ruleAssApi.searchAssignedRule(object1.getEmployeeName());
        List<RuleAssignmentDetails> ptr1 = rAssdtail.getRuleAssignmentDetails();
        ArrayList<RuleAssignmentDetails> ruleList1 = new ArrayList<RuleAssignmentDetails>();
        ArrayList<Rule> rl1 = new ArrayList<Rule>();
        List<RuleParameter> parameterList = new ArrayList<RuleParameter>();
        Iterator<RuleAssignmentDetails> it1 = ptr1.iterator();
        while (it1.hasNext()) {
            RuleAssignmentDetails rp = (RuleAssignmentDetails) it1.next();
            Rule r1 = rp.getRule();
            List<RuleParameter> ptr2 = r1.getRuleParameter();
            Iterator it = ptr2.iterator();
            while (it.hasNext()) {
                RuleParameter r = (RuleParameter) it.next();        
                parameterList.add(r);
            }
            rl1.add(r1);
        }
        model.addAttribute("List2", rl1);
        status.setComplete();
        session.removeAttribute("EmployeeName");
        request.getParameter("test1");
        return new ModelAndView("CompPlan");    
    }   
return new ModelAndView("CompPlan");
}

我该怎么做,请帮帮我。

谢谢。

您可以使用location.reload();更多信息请点击此处

当按钮发生点击事件时,尝试调用这样的函数

<script> 
    function refreshPage {  
        window.location.reload();
    }
</script>

编辑:选择无线电后,在服务器代码中获取该值,并将其作为请求Parameter或Attribute发送到jsp。因此,当重新加载jsp时,您已经选择了两个值。在jsp的任何一点上,您都可以将该值作为进行跟踪

request.getParameter("name")

你可以为你的收音机选择它。

编辑:

我知道你在使用任何一种MVC模式。假设您有一个servlet(或JSP重新加载后重定向到的任何控制器),您可以获得单选按钮值并存储在变量中。类似于:

String rValue = request.getParameter("radioButtonName");

之后,您只需从servlet向同一JSP发送一个响应,但其中包括单选按钮的值。你有两个选项

将值作为请求参数发送:

String yourJsp = "/theJsp.jsp?radioValue=" + rValue;
RequestDispatcher dispatcher = getServletContext().getRequestDispatcher(yourJsp)dispatcher.forward(request,response);

在JSP中获取值为:

<%=request.getParameter("radioValue")>

或者将值作为resquest属性发送到servlet(控制器)中(我更喜欢这个):

...
request.setAttribute("radioValue", rValue);
...

在JSP中获取值为:

<%= request.getAttribute("radioValue")>

最后,如何设置所选单选按钮的值?试试之类的东西

<input type="radio" name="test1" value="radio1" <%= request.getAttribute("radioValue").equals("radio1")?"checked":""/><b>Employee</b>

关键是你可以了解所有这些(考虑到这是一个简短的描述)。我现在不能测试它,但我希望它能起作用。

最新更新