选项是从map里遍历出来了,map是启动时候在servlet里面装进去的。
InitServlet
public class InitServlet extends HttpServlet {
public void init() throws ServletException {
Map<Integer, String> map = new HashMap<Integer, String>();
map.put(1, "高手");
map.put(2, "小牛");
map.put(3, "小菜");
this.getServletContext().setAttribute("typeMap", map);//注意这句话很多亮点
}
}
记得在web.xml里面配置一下<load-on-startup>不然map没有,在页面里面就取不到。
<servlet>
<servlet-name>InitServlet</servlet-name>
<servlet-class>action.InitServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
list.jsp
<body>
类型:<SELECT name="type">
<s:iterator value="#application.typeMap" var="temp">
<option value="<s:property value="#temp.key" />"><s:property value="#temp.value" /></option>
</s:iterator>
</SELECT>
</body>
注:一时兴起,想使用struts2标签里面的<s:select>试试,发现里面可以放list,准备去servlet里面放一个list,估计可以遍历,但是一想就算可以遍历,选择一个选项后的值怎样和后台的统一呢?两个list?试了几拭终于发现不可行。