设置从JSP

问题描述:

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

setRoleRId拼写错误(应该是setRoleId

除非在这里复制时拼写错误。

始终使用Eclipse getters/setters生成器。 (或者与你的问题无关),或许你应该更好地使用Integer作为roleId字段,Struts2可以将查询参数相当体面地转换(与Struts1相比),而不是String以外的其他类型。