日期:2014-05-17  浏览次数:20642 次

struts2 select 枚举
各位大侠,今天有人告诉我这样定义枚举,我是我不知道如何用Struts2标签绑定到select上,麻烦诸位了
public enum CommDegree {

  特等(0),一等(1),二等(2),三等(3),四等(4),五等(5);
  private int value;

  private CommDegree(int value) {
  this.value = value;
  }

  public int getValue() {
  return this.value;
  }

  public String toString() {
  return "" + value;
  }
}

------解决方案--------------------
你在你的jsp页面中用<s:bean>实例化一个你的枚举类,然后在<s:select>中添加value=""
比如 jsp页面中添加:<s:bean name="com.baseMsg.User" id="uer"></s:bean>
然后<s:select vlaue="#user.name"> 这地方你的value应该是一个集合否则报错
------解决方案--------------------
select标签属性写错了,应该是list <s:select list="#user.name">
------解决方案--------------------
写了个完整的:

EnumSelectTest.jsp
HTML code

<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>     
<%@ taglib prefix="s" uri="/struts-tags" %> 

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
    <head> 
        <title>Enum Select Test</title> 
    </head> 
    <body> 
     <div>
        <form action="resultAction.action" method="post">
           <s:select label="Enum Select Test"
               name="selectedEnum"
            headerKey="-1"       
            headerValue="---Please Select---"
            list="myList"
            listKey="value"
            listValue="name"                  
        />       
        </br>
        <input type="submit" value="提交" />
        </form>
     </div>
        </br>
        <DIV><h2><s:property value="selectedEnum"/></h2></DIV>
    </body> 
</html>