setAttribute到servlet的复选框

时间:2018-05-24 10:09:11

标签: java jsp servlets checkbox

这就是我所拥有的:

JSP:

 <input type="checkbox" name="no_del_file" <% 
if ("True".equals(request.getParameter("no_del_file"))) {
    out.print("checked=\"checked\"");

} %>/>

<%String test = request.getParameter("no_del_file"); %>


 <p><%=test%></p>

爪哇:

 boolean cbState = request.getParameter( "no_del_file" ) != null;
            System.out.println("cbstate: "+cbState);
            if (cbState == true) {
                request.setAttribute("no_del_file", "checked");
                String checker=(String) request.getAttribute("no_del_file");
                System.out.println(checker);
            }

 RequestDispatcher dispatcher = request.getRequestDispatcher("/runButtonCommand.jsp");
            dispatcher.forward(request, response);

问题是输出是:

 cbstate: true
 checked

在提交表格

后,测试将“打开”作为打印

但是在servlet返回响应后,不会自动检查该复选框。由于某种原因删除了勾号。

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

试试这个

public static void main( String[] args ) {
   ClassB obj = new ClassB();
   obj.setA(); //Accessible now
   obj.test(); //Accessible now

}

答案 1 :(得分:0)

我终于明白了......如果有人对此感兴趣,那就是

 <%String test = (String)request.getParameter("no_del_file"); %>
<%String checked = "";%>

<% 
if ("on".equals(test)) {
    checked="checked=\"on\"";

} %>
<input type="checkbox" name="no_del_file" <%=checked%>>

检查后返回