Java 使用servlet将属性设置为复选框

Java 使用servlet将属性设置为复选框,java,jsp,servlets,checkbox,Java,Jsp,Servlets,Checkbox,以下是我所拥有的: JSP: 问题是输出是: cbstate: true checked 提交表格后,测试将“开”作为打印 但是在servlet返回响应后,复选框本身不会被选中。由于某种原因,勾号被删除 有什么想法吗?试试这个 <% if(request.getParameter( "no_del_file" )=="checked"){%> <input type="checkbox" id="no_del_file" name="no_del_file" value=

以下是我所拥有的:

JSP:

问题是输出是:

 cbstate: true
 checked
提交表格后,测试将“开”作为打印

但是在servlet返回响应后,复选框本身不会被选中。由于某种原因,勾号被删除

有什么想法吗?

试试这个

<% if(request.getParameter( "no_del_file" )=="checked"){%>
<input type="checkbox" id="no_del_file" name="no_del_file" value="no_del_file" checked>
<%}%>

我终于明白了。。。如果有人对这里感兴趣,它就是

 <%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%>>


当选中该选项时,它将返回on(打开)

不起作用。在提交表单后,它仍然处于未选中状态。如果不使用
=
来比较两个字符串之间的相等性,请使用
.equals
。因此,不要在jsp中的代码段中使用普通java代码。在将其更改为“checked”后,equals(requst…)仍然不起作用。在使用request.getAttribute()重新加载后,它会显示“on”。它可能会起作用
<% if(request.getParameter( "no_del_file" )=="checked"){%>
<input type="checkbox" id="no_del_file" name="no_del_file" value="no_del_file" checked>
<%}%>
 <%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%>>