我的Action类有以下方法,
1.add
2.edit
3.loadEdit
4.remove
5.list
6.execute
在这个我需要应用验证添加和编辑..如何确实需要在struts.xml.I中配置,
<action name="editComment" method="edit"
class="com.mmm.ehspreg2.web.action.product.CommentAction">
<result name="success">/jsp/propertyManager/loadList.jsp</result>
</action>
<action name="removeComment" method="remove"
class="com.mmm.ehspreg2.web.action.product.CommentAction">
<interceptor-ref name="validation">
<param name="excludeMethods">remove</param>
</interceptor-ref>
<result type="tiles">listComment</result>
<result type="tiles" name="input">listComment</result>
</action>
当我像这样配置时,不会调用remove action方法。我不明白这个问题。请协助。
答案 0 :(得分:9)
您还可以在操作类
中进行方法初始化之前使用@SkipValidatione.g。
@SkipValidation
public String save() {
String result = super.save();
if (result.equals(SAVE)) {
setMessage1(getText("save.successful"));
} else {
setMessage1(getText("save.unsuccessful"));
}
jsonResponse = new Hashtable<String, Object>();
jsonResponse.put(FIELD_JSONRESPONSE_STATUS,
KEY_JSONRESPONSE_MESSAGE_SUCCESS);
jsonResponse.put(FIELD_JSONRESPONSE_MESSAGE,
KEY_JSONRESPONSE_EMPTY_STRING);
jsonResponse.put(FIELD_JSONRESPONSE_VALUE, domainModel.getId());
// System.out.println("domainModel>>>>>>" + domainModel.getId());
return result;
}
答案 1 :(得分:8)
只需列出您不想要通过excludeMethods参数中的验证框架运行的所有方法。由于您只需要验证add
和edit
,请按以下方式列出其他4:
<interceptor-ref name="validation">
<param name="excludeMethods">loadEdit,remove,list,execute</param>
</interceptor-ref>
您可以在Validation Interceptor docs中了解更多相关信息。