Настройка членов действия Struts2 из jsp - PullRequest
0 голосов
/ 29 апреля 2010

У меня есть HTML-форма с атрибутом действия, указывающим на действие Struts

Вот 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>

Но по какой-то причине свойство roleId не устанавливается и всегда выдает ошибку, говоря, что роль должна быть указана. Когда я отключаю действие проверки, получаются все свойства, кроме roleId, в чем может быть проблема, как я могу обнаружить такие ошибки?

Я использую Struts 2.0, Windows 7, затмение Ganimid и Tomcat 6.0

1 Ответ

3 голосов
/ 29 апреля 2010

setRoleRId написано с ошибкой (должно быть setRoleId)

Если вы не ошиблись при копировании здесь.

Всегда используйте геттеры / сеттеры Eclipse.

И, кстати (не относится к вашей проблеме), возможно, вам лучше использовать Integer для поля roleId, Struts2 может довольно прилично преобразовать параметры запроса (в отличие от Struts1) в другие типы, кроме String.

...