因为我对于struts稍微改造了一下,一个action class文件中的一个方法接受一个页面的action请求...这样减少了很多action的文件..但是也不可以使用本来的validate验证方法了...所以呢,ActionMessage的用法也是需要一点改变...好久不写代码..好多东西都忘记了,还是备份一下,,免得下次麻烦
在Action 文件的一个方法中:
AccountDomain existAccount =accountService.retrieveAccountDomainByUserId(accountDomain.getUserId());
ActionMessages errors=new ActionMessages();
if(existAccount != null && StringUtils.isNotEmpty(existAccount.getUserId())){
ActionMessage duplicate_user = new ActionMessage("DUPLICATEUSERID");
errors.add(Globals.ERROR_KEY,duplicate_user);
ActionContext.getActionContext().getRequest().setAttribute(Globals.ERROR_KEY, errors);
return FAILURE;
}
资源文件:
DUPLICATEUSERID = 对不起,用户名重复,请选择其他的用户名。
在jsp文件中:
<html:messages id="error">
<li><bean:write name="error"/></li>
</html:messages>
分享到:
相关推荐
1、struts国际化的配置 ... 理解ActionMessage和ActionMessages两个对象的区别 如何传递国际化消息? * 调用saveMessage()传递普通消息 如何显示国际化消息? 通过标签显示消息(可以显示普通消息和错误消息)
- 添加错误:在Action类中,你可以创建一个ActionError实例,然后使用`addActionError()`方法将其添加到ActionContext中。例如: ```java ActionErrors errors = new ActionErrors(); errors.add("username", ...
4. **显示错误和消息**:在JSP页面中,使用Struts2的标签库(如`s:actionerror`和`s:actionmessage`)来遍历并显示`ActionContext`中的`ActionErrors`和`ActionMessages`。 ```jsp ()"> ()"> <s:actionmessage/...
ActionMessages messages = new ActionMessages(); boolean flag = true; if (fileForm.getName().equals("")) { flag = false; messages.add("nameerror", new ActionMessage("name.error")); } if ...
ActionMessages messages = new ActionMessages(); boolean flag = true; // 验证表单数据 if (fileForm.getName().equals("")) { flag = false; messages.add("nameerror", new ActionMessage("name.error")...
import org.apache.struts.action.ActionMessage; import org.apache.struts.action.ActionMessages; import org.apache.struts.config.ProcessConfig; import org.apache.struts.util.MessageResources; ...
- 通过调用`saveErrors`方法将`ActionMessages`对象中的错误信息保存到请求范围(request scope)中。 - 示例代码: ```java saveErrors(request, response, messages); ``` - **页面显示:** - 使用`...
- **错误消息处理**: 使用 `ActionMessages` 来管理错误消息,并通过 `ActionMessage` 定义具体的错误提示信息。 - **转向页面**: 根据不同的处理结果,返回不同的 `ActionForward` 对象,以实现页面跳转。 #####...
3. **清除令牌**:为防止令牌被重复利用,每次验证后都需要清除令牌。通常是在验证成功后执行此操作。 ```java private void resetToken(HttpServletRequest request) { request.getSession().removeAttribute(...
它们的使用方法相似,但处理的上下文不同。 7. **保存和检索消息**: 在Action中,使用`saveErrors(HttpServletRequest, ActionErrors)`或`saveMessages(HttpServletRequest, ActionMessages)`方法将错误或消息...
ActionErrors是Struts提供的一个集合类,它继承自ActionMessages,用于存储ActionMessage对象。 ActionMessage是一个简单的容器,它持有错误消息的键值,这些键值通常对应于资源文件中的字符串,以便支持多语言环境...
`ActionMessage`则是在Action类中使用的,用于将消息传递到视图层。 3. **创建Resource Bundle**: 为了支持多语言,你需要为每种语言创建一个对应的.properties文件,例如`messages_en.properties`(英语)和`...
传统的方法包括在JSP页面或Servlet中进行验证,以及使用JavaScript进行前端验证。然而,这些方法往往不够灵活和易于维护。Struts2引入了自己的数据验证机制,这使得验证过程更加系统化和模块化。 Struts2的数据验证...
1. **定义资源键和值**:在资源文件中,每一行都代表一个键值对,键通常是描述性的短字符串,而值是与键相关联的文本。例如,`error.email=请输入有效的电子邮件地址`。 2. **在代码中引用**:在Action类或者JSP页面...
然后,Action可以通过`ActionMessages`或`ActionErrors`将消息添加到请求上下文,供视图层使用。 7. **视图渲染**: - JSP页面上,使用`<bean:message key="messageKey"/>`来显示资源包中的消息,其中`messageKey`...
errors.add("globalError", ActionMessages.GLOBAL_MESSAGE, new ActionMessage("error.loginFailed")); saveErrors(request, errors); ``` 在JSP页面中: ```jsp <ww:property value="Globals.ERROR_KEY" ...
3. 在Action中使用`ActionMessages`或`ActionErrors`添加和显示消息。 4. 在JSP中使用Struts标签显示本地化消息。 5. 实现语言切换功能,动态改变资源文件的加载。 通过这些步骤,开发者可以轻松地为SSH框架的Web...
ActionMessages errMsgs = new ActionMessages(); if (this.userName == null || userName.trim().length() == 0) { errMsgs.add("userName", new ActionMessage("error.userName.required")); } if (this....
errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage("enterprise.error.filetype")); this.saveErrors(httpServletRequest, errors); return actionMapping.getInputForward(); } else { try { ...