strutrs1的validator框架的在form中开展国际化验证,而且实现传递参数的国际化

strutrs1的validator框架的在form中进行国际化验证,而且实现传递参数的国际化

//jsp页面


  <html:form action="/go?p=regist">
   password : <html:password property="password"/><html:errors property="password"/><br/>
   name : <html:text property="name"/><html:errors property="userNameError"/><br/>
   <html:submit/><html:cancel/>
  </html:form>

 

//form的代码

/*
 * Generated by MyEclipse Struts
 * Template path: templates/java/JavaClass.vtl
 */
package com.forms;

import java.util.Locale;

import javax.servlet.http.HttpServletRequest;

import org.apache.struts.Globals;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;
import org.apache.struts.util.MessageResources;
import org.apache.struts.util.RequestUtils;


public class UserForm extends ActionForm {
 
 private String password;

 private String name;

 public ActionErrors validate(ActionMapping mapping,
   HttpServletRequest request) {
  ActionErrors actionErrors = new ActionErrors();

//这是资源文件的类
  MessageResources messageResources = (MessageResources) request.getAttribute(Globals.MESSAGES_KEY);

//这是得到当前的语言环境
  Locale locale = RequestUtils.getUserLocale(request, null);
  if(name == null || "".equals(name.trim()))
  {

  //这是得到资源文件key为userNameError的国际化信息,第二个参数,当我们的第一个参数代表的国际化资源信息里面{0}这种形式的时候,去填充这个占位符
   ActionMessage actionMessage = new ActionMessage("userNameError", messageResources.getMessage(locale, "info.name"));
   actionErrors.add("userNameError", actionMessage); 
  }
  return actionErrors;
 }

 
 public void reset(ActionMapping mapping, HttpServletRequest request) {
 }

 
 public String getPassword() {
  return password;
 }

 
 public void setPassword(String password) {
  this.password = password;
 }

 
 public String getName() {
  return name;
 }

 
 public void setName(String name) {
  this.name = name;
 }
}

 

//struts-config.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd">

<struts-config>
  <data-sources />
  <form-beans >
    <form-bean name="userForm" type="com.forms.UserForm" />

  </form-beans>

  <global-exceptions />
  <global-forwards />
  <action-mappings>
    <action
      attribute="userForm"
      input="/regist.jsp"
      name="userForm"
      parameter="p"
      path="/go"
      scope="request"
      type="com.actions.UserAction" validate="true">
       <forward name="success" path="/success.jsp"></forward>
       <forward name="fail" path="/fail.jsp"></forward>
      </action>
  
  </action-mappings>

  <message-resources parameter="com.yourcompany.struts.ApplicationResources" />
</struts-config>