第一步:建立资源文件
1.Messages.properties
vo.edit.msg = {0} \u4fe1\u606f\u7f16\u8bd1\u5b8c\u6210\uff01
2.Pages.properties
emp.add.page=/pages/back/emp/emp_add.jsp
3.Validations.properties
emp.add.rules=empno:int|ename:string|sal:double|hiredate:date
第二步:配置applicationContext-mvc.xml
Messages Pages Validations
第三步:父类中定义读取方法
package group.esperanto.action.util;import java.text.SimpleDateFormat;import java.util.Locale;import javax.annotation.Resource;import org.springframework.beans.propertyeditors.CustomDateEditor;import org.springframework.context.MessageSource;import org.springframework.web.bind.WebDataBinder;import org.springframework.web.bind.annotation.InitBinder;public class AbstractAction { @Resource //通过容器注入msgSource private MessageSource msgSource; // 定义读取资源文件内容 msgKey指properties文件中的键,args指传过来的参数,替代properties中的占位符 public String getValue(String msgKey,Object...args){ return this.msgSource.getMessage(msgKey, args, Locale.getDefault()); }}
第四步:控制器中读取
package group.esperanto.action;import java.io.IOException;import java.util.Date;import javax.servlet.ServletContext;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;import javax.sound.midi.MidiDevice.Info;import org.apache.log4j.Logger;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestParam;import org.springframework.web.servlet.ModelAndView;import group.esperanto.action.util.AbstractAction;@Controller// 定义该Action的映射路径// 该路径绝对不能重复@RequestMapping("/pages/emp/*")public class EmpAction extends AbstractAction { private Logger log = Logger.getLogger(EmpAction.class); @RequestMapping("info") public ModelAndView Info(){ log.info(super.getValue("vo.edit.msg", "info ")); log.info(super.getValue("emp.add.page")); log.info(super.getValue("emp.add.rules")); return null; } }