警告: The first TextProvider in the ValueStack (com.mytest.action.ValidateAction) could not locate the

最近自己搭建框架学习Struts2,(在已经搭建好的框架上)运行:使用 validate validate validate 方法验证数据实例是控制台总是出现如下警告信息:

2012-9-17 14:33:27 com.opensymphony.xwork2.util.logging.commons.CommonsLogger warn
警告: The first TextProvider in the ValueStack (com.mytest.action.ValidateAction) could not locate the message resource with key 'msg.hello'
2012-9-17 14:33:27 com.opensymphony.xwork2.util.logging.commons.CommonsLogger warn
警告: The default value expression 'msg.hello' was evaluated and did not match a property.  The literal value 'msg.hello' will be used.

 

实例信息如下:

xml代码----struts.xml

 

<package name="demo4" namespace="/" extends="struts-default">
  <action name="validate" class="com.mytest.action.ValidateAction">
   <result name="success">/page/validate/validate.jsp</result>
   <result name="input">/page/validate/validate.jsp</result>
  </action>  
 </package>

 

action代码----ValidateAction.java

package com.mytest.action;

import com.opensymphony.xwork2.ActionSupport; //Struts2.x 的动作类需要从 com.opensymphony.xwork2.ActionSupport 类继承。

import javax.servlet.http.*;

import org.apache.struts2.interceptor.*;


public class ValidateAction extends ActionSupport{

 private String msg;
 
 public String execute(){
  System.out.println(SUCCESS);
  return SUCCESS;
 }
 
 public void validate(){
  
  if(!msg.equalsIgnoreCase("hello")){
   System.out.println(INPUT);
   this.addFieldError("msg.hello", " 必须输入 hello!");
   this.addActionError(" 处理动作失败 !");
  }else{
   this.addActionMessage(" 提交成功 ");
  }  
 }

 public String getMsg(){
  return msg;
 }
 
 public void setMsg(String msg){
  this.msg = msg;
 }
 
}

jsp页面----validate.jsp

<%@ page language="java" import="java.util.*" pageEncoding="GBK" %>
<%@ taglib prefix="s" uri="/struts-tags" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK">
<title>验证数据(Insert title here)</title>
</head>
<body>


 <s:actionerror/>
 <s:actionmessage/>
 <s:form action="validate" theme="simple" namespace="/">
 输入内容: <s:textfield name="msg"/>
 <s:fielderror key="msg.hello" />
 <br/>
 <s:submit/>
 </s:form>

</body>
</html>

 

解决警告信息的方法:

 

1.在与ValidateAction.java同目录的包下面建立资源文件ValidateAction.properties

2.在ValidateAction.properties文件中写入如下内容:

msg.hello=nihao   注意这里等号左边的要和jsp中<s:fielderror key="msg.hello" />中的key相同一致

3.重新发布项目,启动tomcat,访问页面,OK警告消失。

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值