使用Action数据模型值在Struts2 JSP中调用静态方法helper类

我是Struts2的新手。 我正在将Struts2与Action中的典型数据模型UserItem使用。 使用Struts标记时,数据模型看起来不太好。

我想要做的是编写一个静态的util方法Helper.printNice(Foo) ,它接受参数Foo并在用户友好的显示中打印出Foo中包含的值。

如何将Struts属性标记与静态方法一起使用? 像这样的东西com.helper.Helper.printNice()

原因是我的网络应用程序正在读取供应商填充的数据,在许多列中看起来像这个[“string1”,“string2”,…]。 显然,我不希望以这种格式显示给最终用户。 帮助器方法会使它看起来像string1
string2
等…

编辑

2.3.20及更高版本开始 , 静态方法访问将不再起作用 ,即使在配置中激活也是如此。


对于静态方法访问,您需要:

在Struts.xml中

  

在你的JSP中

  

但正如里斯指出的那样,如果不是绝对必要的话,应该避免这种情况,因为这不是最佳做法。

在您的特定情况下,我猜包含[“String1”,“String2”,…]的Object是List,Vector或类似的东西。

然后你在JSP中需要的就是标签,如下所示:

   

对于静态方法访问,您必须在struts.xml文件中添加以下常量

  

示例: struts.xml

      /WEB-INF/JSP/sample.jsp    

然后从JSP中,您可以通过各种方式访问​​它:

示例 – 1:

 Output :  

哪里,

  1. vaannila =包名。
  2. SampleAction =类名。
  3. getSTR() =方法名称。

示例 – 2:

 Output :  

哪里,

  1. vs =价值堆栈。
  2. getSTR() =方法名称。

示例 – 3:

 Output :  

哪里,

  1. STR = STR在Java类中使用getter和setter方法声明并初始化为静态字符串