JSP实现用于自动生成表单标签html代码的自定义表

这个是自己写的一个简单的JSP表单标签,用于自动生成checkbox,select,radio等标签,传入菜单集合生成html代码,自动选中指定值,用于java web项目的jsp页面。

1. Servlet部分代码:

Map<String, String> map = new HashMap<String, String>(); map.put("2", "选项二"); map.put("3", "选项三"); map.put("4", "选项四"); map.put("5", "选项五"); map.put("6", "选项六"); req.setAttribute("map", map); List<String> list = new ArrayList<String>(); 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 }"/> <!-- checkValue只能是字符串,支持el --> <g:radios items="${map }" 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><input type="checkbox" value="3" /><label for="checkbox1">选项三</label></div><div><input type="checkbox" value="2" /><label for="checkbox2">选项二</label></div><div><input type="checkbox" value="6" checked="checked" /><label for="checkbox3">选项六</label></div><div><input type="checkbox" value="5" checked="checked" /><label for="checkbox4">选项五</label></div><div><input type="checkbox" value="4" checked="checked" /><label for="checkbox5">选项四</label></div> <!-- checkValue只能是字符串,支持el --> <div><input type="radio" value="3" checked="checked" /><label for="radio1">选项三</label></div><div><input type="radio" value="2" /><label for="radio2">选项二</label></div><div><input type="radio" value="6" /><label for="radio3">选项六</label></div><div><input type="radio" value="5" /><label for="radio4">选项五</label></div><div><input type="radio" value="4" /><label for="radio5">选项四</label></div>

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wzfysd.html