从jsp设置Struts2 Action成员

时间:2010-04-29 13:58:45

标签: java web-applications java-ee struts2

我有一个html表单,其action属性指向struts action

这是一个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>

我对getter和setter有一个动作

//
//
//
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>

但由于某种原因,roleId属性没有设置,它总是给我一个错误,说必须指定角色。当我禁用验证操作时会收到除roleId之外的所有属性,可能是什么问题,如何检测此类错误?,

我正在使用Struts 2.0,Windows 7,eclipse Ganimid和Tomcat 6.0

1 个答案:

答案 0 :(得分:3)

setRoleRId拼写错误(应为setRoleId

除非你在这里复制它时拼错了。

始终使用Eclipse getter / setters生成器。

而且,BTW(与你的问题无关),也许你应该更好地使用Integer作为roleId字段,Struts2可以将查询参数转换得非常不错(与Struts1相比),而不是String。 / p>