本文实例讲述了JSP实现用于自动生成表单标签html代码的自定义表单标签。分享给大家供大家参考。具体如下:
这个是自己写的一个简单的JSP表单标签,用于自动生成checkbox,select,radio等标签,传入菜单集合生成html代码,自动选中指定值,用于java web项目的jsp页面。
1. Servlet部分代码:
MapString, String> map = new HashMapString, String>(); map.put("2", "选项二"); map.put("3", "选项三"); map.put("4", "选项四"); map.put("5", "选项五"); map.put("6", "选项六"); req.setAttribute("map", map); ListString> list = new ArrayListString>(); list.add("4"); list.add("5"); list.add("6"); req.setAttribute("list", list);
2. JSP代码:
%@taglib prefix="g" uri="http://www.golpesoft.com" %> g:select value="1"> option value="0">选项一/option> g:option value="1">这个被选中/g:option> !-- items必需是集合或者map --> g:options items="${map }"/> /g:select> !--checkValue支持el,可以是集合或者字符串,指定自动生成的checkbox哪些被选中 --> g:checkboxs checkValue="${list }" items="${map }" name="checkbox"/> !-- checkValue只能是字符串,支持el --> g:radios items="${map }" name="radio" checkValue="3"/>
3. 生成的html代码:
select> option value="0">选项一/option> option value="1" selected="selected">这个被选中/option> !-- items必需是集合或者map --> option value="3">选项三/option> option value="2">选项二/option> option value="6">选项六/option> option value="5">选项五/option> option value="4">选项四/option> /select> !--checkValue支持el,可以是集合或者字符串,指定自动生成的checkbox哪些被选中 --> div class="checkbox-div">input type="checkbox" id="checkbox1" name="checkbox" value="3" />label for="checkbox1">选项三/label>/div>div class="checkbox-div">input type="checkbox" id="checkbox2" name="checkbox" value="2" />label for="checkbox2">选项二/label>/div>div class="checkbox-div">input type="checkbox" id="checkbox3" name="checkbox" value="6" checked="checked" />label for="checkbox3">选项六/label>/div>div class="checkbox-div">input type="checkbox" id="checkbox4" name="checkbox" value="5" checked="checked" />label for="checkbox4">选项五/label>/div>div class="checkbox-div">input type="checkbox" id="checkbox5" name="checkbox" value="4" checked="checked" />label for="checkbox5">选项四/label>/div> !-- checkValue只能是字符串,支持el --> div class="radio-div">input type="radio" id="radio1" name="radio" value="3" checked="checked" />label for="radio1">选项三/label>/div>div class="radio-div">input type="radio" id="radio2" name="radio" value="2" />label for="radio2">选项二/label>/div>div class="radio-div">input type="radio" id="radio3" name="radio" value="6" />label for="radio3">选项六/label>/div>div class="radio-div">input type="radio" id="radio4" name="radio" value="5" />label for="radio4">选项五/label>/div>div class="radio-div">input type="radio" id="radio5" name="radio" value="4" />label for="radio5">选项四/label>/div>
希望本文所述对大家的JSP程序设计有所帮助。