properties文件中的参数{0}如何设置我用struts2 做了个拦截器
struts.xml片段如下<!-- 配置fileUpload的拦截器 -->
<interceptor-ref name="fileUpload">

<!-- 允许上传的文件大小 -->
<param name="maximumSize">1024</param> 

</interceptor-ref> 


我在 messageResource_zh_CN.properties 文件中重定义了maximumSize的拦截返回信息。struts.messages.error.file.too.large=文件太大这样,当上传的文件大于1K后,在页面上就会出现 "文件太大" 这一信息。但是,我想告诉客户可以上传的文件的最大值是1K我现在有一种简单的方法:将
struts.messages.error.file.too.large=文件太大
变成
struts.messages.error.file.too.large=文件大小不能超过1K但在其他页面中,有时文件大小的限制是100K,而struts.messages.error.file.too.large只有一个。所以不能写死。那么,根据我目前的知识水平,我想到了:
struts.messages.error.file.too.large=文件大小不能超过{0}{0}是参数。但我弄了半天也不知道该如何传递给{0}一个具体的字符串!哪位高人能帮帮我,谢谢!

解决方案 »

  1.   

    Struts2我不太懂,不过properties中的{0}参数,你可以用 java.text.MessageFormat
    这个来格式化 String msg_temp = "长度不能大于{0}K";
    String msg_value = "10";
    String msg = MessageFormat.format(msg_temp, msg_value);
    System.out.println(msg);
      

  2.   


            String msg_temp = "长度不能大于{0}K";
            String msg_value1 = "10";
            String msg_value2 = "100";
            String msg = MessageFormat.format(msg_temp, msg_value1, msg_value2);
            System.out.println(msg);
      

  3.   

    struts2不熟悉,一直都是在用struts1.x你可以把包拷贝一下,或者struts2下可能也类似的包。例如:
    属性文件:services.properties
    其中内容有:apply=xxxxxx{0}xxxxxxx{1}java代码:
    MessageResources mr =  MessageResourcesFactory.createFactory().createResources("services");
             String reqUrl = mr.getMessage("apply", new String[]{参数1,参数二,....参数N});
            
      

  4.   

    应该有个message标签,其中有个key属性和arg0属性。key是你要显示的信息的key值,arg0是你要向信息里面传的参数。
      

  5.   

    可以用javascript写个方法,判断一下就好了
      

  6.   

    必须要设置的话,在Validation.xml文件里设置,如下:
      <form-validation>
        <formset>
             <form name="bean的名字">
                <field  property="要设置的属性" depends=”满足的条件"
                       <arg0 key="是jsp页面errors的属性">               //这个arg0就是{0}
                </field>
    完后,在properties文件中设置键(key)相对应的值(即:不能大于1k)