Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JSP中带Struts2标记的条件表达式_Jsp_Struts2_Struts Tags - Fatal编程技术网

JSP中带Struts2标记的条件表达式

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

我维护一个使用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.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)