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