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表达式这种方式最简洁,不用写多余的代码。