struts注解问题

发布于 2024-08-30 11:29:55 字数 701 浏览 4 评论 0原文

我的问题是我在 Struts2 操作类中有一个注释,就像

private String[] origfilenofrom;

@FieldExpressionValidator(fieldName="origfilenofrom",key="",message="File Length should be 12 for old file format and 15 for new file format",expression="checkorigFileFormat(origfilenofrom)")

现在我的方法是

public boolean checkorigFileFormat(String[] files )
 {   
  for(int counter=0;counter<files.length;counter++)
     {
   int n=files[counter].length();
   if(!(n==12 || n==15))
   {
    return false;
   }
     }
     return true;
 }

这样,对于该字符串 [] 中的任何字符串,返回 false 的值都是 false。 无论该字符串 [] 中的 3 个字符串为 true,如果其中一个为 false,则将为所有字符串显示注释消息。

我希望消息不显示字符串为 true 的位置。

My issue is that I have an annotation in Struts2 action class like

private String[] origfilenofrom;

@FieldExpressionValidator(fieldName="origfilenofrom",key="",message="File Length should be 12 for old file format and 15 for new file format",expression="checkorigFileFormat(origfilenofrom)")

Now my method is

public boolean checkorigFileFormat(String[] files )
 {   
  for(int counter=0;counter<files.length;counter++)
     {
   int n=files[counter].length();
   if(!(n==12 || n==15))
   {
    return false;
   }
     }
     return true;
 }

So for any string in that string [], which is returning false the value is being false.
No matter 3 strings in that string [] are true if one is false then the annotation message is displayed for all.

I want the message not to display where the string is true.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

扶醉桌前 2024-09-06 11:29:55

我正在尝试回答。
我认为你需要使用验证方法而不是注释。

@Override
public void validate() {
 int count =0;
 for(String s : origfilenofrom)
   {
    if (!(s.length()==12 || s.length()==15)) {

    this.addActionError("File Length should be 12 for old file format and 15 for new file format for file no :"+ count);
      }
    count++;
   }
 }

I am trying to answer.
I think you need to use validate method instead of annotation.

@Override
public void validate() {
 int count =0;
 for(String s : origfilenofrom)
   {
    if (!(s.length()==12 || s.length()==15)) {

    this.addActionError("File Length should be 12 for old file format and 15 for new file format for file no :"+ count);
      }
    count++;
   }
 }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文