从 jsp 设置 Struts2 Action 成员
我有一个 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>
我有一个带有 getters 和 setters 的操作
//
//
//
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
I have a html form with action attribute pointing to struts action
Here is a JSP
<s:select name="roleId" id="roleId" list="roleMap" headerKey=""
headerValue="SELECT" theme="simple" value="%{roleId}" cssClass="dropdown_menu"></s:select>
It generates html like
<select name="roleId" id="roleId" class="dropdown_menu">
<option value=""
>SELECT</option>
<option value="11">User</option>
<option value="9">Administrator</option>
</select>
I have an action with getters and setters
//
//
//
private String roleId;
//
//
public String getRoleId() {
return roleId;
}
public void setRoleRId(String roleId) {
this.roleId = roleId;
}
//
//
//
And the validation:
<field name="roleId">
<field-validator type="requiredstring">
<message key="USER.ROLE_ERR" />
</field-validator>
</field>
But for some reason roleId property is not setting and it always gives me error saying role must be specified. When I disable the validation action receives all properties except roleId
, What can be the proble , How do I detect such kind of errors?,
I am using Struts 2.0, Windows 7 , eclipse Ganimid and Tomcat 6.0
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
setRoleRId
拼写错误(应为setRoleId
),除非您在此处复制时拼写错误。
始终使用 Eclipse getter/setter 生成器。
而且,顺便说一句(与您的问题无关),也许您应该更好地使用 Integer 作为 RoleId 字段,Struts2 可以相当不错地将查询参数(与 Struts1 相比)转换为 String 以外的其他类型。
setRoleRId
is misspelled (should besetRoleId
)Unless you misspelled it when copying it here.
Always use Eclipse getters/setters generators.
And, BTW(not related to your problem), perhaps you should better use an Integer for the
roleId
field, Struts2 can convert query parameters quite decently (in contrast with Struts1) to other types than String.