jSP的3种方式实现radio ,checkBox,select的默认选择值。

时间:2023-12-09 15:11:13

jSP的3种方式实现radio ,checkBox,select的默认选择值。
以radiao 为例:
第一种方式:在jsp中使用java 脚本,这个方法最直接,不过脚本太多,不容易维护
<%String state = request.getParrameter("state" )%>

<td width="27"><input type="radio" name="state" value="AL" 〈%if(state.equal("AL")) out.print("checked")%〉/>

<td width="27"><input type="radio" name="state" value="MT" 〈%if(state.equal("MT")) out.print("checked")%〉/>
 </td>
第二种方式:使用jsp标准标签库jstl:
首先需要加入库文件
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
其次为:
<td width="27">
<c:choose>
                     <c:when test="${state=='AL'}">
                     <input type="radio" name="state" value="AL"  checked />
                     </c:when>
                     <c:otherwise>
                      <input type="radio" name="state" value="AL"  />
                     </c:otherwise>
                     </c:choose>
                    <c:choose>

<td width="27">
<c:when test="${state=='MT'}">
                     <input type="radio" name="state" value="MT"  checked />
                     </c:when>
                     <c:otherwise>
                      <input type="radio" name="state" value="MT"  />
                     </c:otherwise>
                     </c:choose>
                    <c:choose>
 </td>

其中state应该在request,session,等中赋值。
第三种方式:使用EL表达式:
<td width="27"><input type="radio" name="state" value="AL" ${(state=='AL')?'checked' : ''}/>

<td width="27"><input type="radio" name="state" value="MT" ${(state=='MT')?'checked' : ''}/>
 </td>

显然使用EL表达式这种方式最简洁,不用写多余的代码。