JSP中带Struts2标记的条件表达式
我维护一个使用Struts2开发的旧应用程序 我将Struts2库从2.3.19更新为2.3.24 我正在使用jdk8部署到Tomcat8 在JSP中,我有这样的条件,可以很好地使用旧的Struts2库、jdk 7和Tomcat 7)JSP中带Struts2标记的条件表达式,jsp,struts2,struts-tags,Jsp,Struts2,Struts Tags,我维护一个使用Struts2开发的旧应用程序 我将Struts2库从2.3.19更新为2.3.24 我正在使用jdk8部署到Tomcat8 在JSP中,我有这样的条件,可以很好地使用旧的Struts2库、jdk 7和Tomcat 7) 第一类 类别2 struts 2.3.19到2.3.24有什么变化吗?还是jdk8,Tomcat 8 当我将添加到JSP时,它会显示com.mycompany.myapp。MyCalss2@46e9d4ac由于以下原因,JSP中的类检索(即current.ge
第一类
类别2
struts 2.3.19到2.3.24有什么变化吗?还是jdk8,Tomcat 8
当我将
添加到JSP时,它会显示com.mycompany.myapp。MyCalss2@46e9d4ac由于以下原因,JSP中的类检索(即current.getClass()
)不再被允许。在action类中创建一个方法并在那里进行比较。在JSP中,您可以这样称呼它
<s:if test="compareCurrentClass('com.mycompany.myapp.MyCalss1')">
在这种情况下,在操作中声明compareCurrentClass
:
public boolean compareCurrentClass(Object current, String name)
顺便说一句,目前最新的S2版本是2.3.28
类检索current.getClass()
由于安全原因,jsp中不再允许使用。创建一个方法并在那里进行比较。它用于应用程序中的多个页面,有重构建议吗?您可以使用此方法创建一些基本操作并替换jsp中的所有内容。@Guissoumassam有时您需要阅读发行说明,尤其是在更新到新版本之前。它用于应用程序中的多个页面,有重构建议吗?如何在所有操作扩展的BaseAction上执行此操作?@GUISSOUMAIssam是的,您可以在基本操作中定义此方法,然后只需更改jsp-s。如何从jsp获取基本操作中的对象?当前是操作中的一个私有字段字段字段名称和对象类型因操作而异
<s:if test="compareCurrentClass(current, 'com.mycompany.myapp.MyCalss1')">
public boolean compareCurrentClass(Object current, String name)