使用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 :
哪里,
-
vaannila
=包名。 -
SampleAction
=类名。 -
getSTR()
=方法名称。
示例 – 2:
Output :
哪里,
-
vs
=价值堆栈。 -
getSTR()
=方法名称。
示例 – 3:
Output :
哪里,
-
STR
=STR
在Java类中使用getter和setter方法声明并初始化为静态字符串