2010-04-29 70 views
0

Struts2的行動的成員我有action屬性HTML表單指向Struts動作設置從JSP

下面是一個JSP

<s:select name="roleId" id="roleId" list="roleMap" headerKey="" 
         headerValue="SELECT" theme="simple" value="%{roleId}" cssClass="dropdown_menu"></s:select> 

它生成的HTML像

<select name="roleId" id="roleId" class="dropdown_menu"> 
    <option value="" 
    >SELECT</option> 
    <option value="11">User</option> 
    <option value="9">Administrator</option> 


</select> 

我有一個與吸氣劑和吸附劑作用

// 
// 
// 
private String roleId; 
// 
// 
public String getRoleId() { 
     return roleId; 
    } 

    public void setRoleRId(String roleId) { 
     this.roleId = roleId; 
    } 
// 
// 
// 

和驗證:

<field name="roleId"> 
    <field-validator type="requiredstring"> 
     <message key="USER.ROLE_ERR" /> 
    </field-validator> 
</field> 

但由於某些原因,角色ID屬性未設置,它總是給我錯誤說角色必須指定。當我禁用驗證動作,除了接收所有roleId性質,什麼可能是proble,如何檢測這類錯誤的?

我使用Struts 2.0,Windows 7中,日食Ganimid和Tomcat 6.0

回答

3

setRoleRId拼寫錯誤(應該是setRoleId

除非在這裏複製時拼寫錯誤。

始終使用Eclipse getters/setters生成器。 (或者與你的問題無關),或許你應該更好地使用Integer作爲roleId字段,Struts2可以將查詢參數相當體面地轉換(與Struts1相比),而不是String以外的其他類型。