Jsp 将Struts 1标记迁移到Struts 2

Jsp 将Struts 1标记迁移到Struts 2,jsp,struts2,tags,taglib,Jsp,Struts2,Tags,Taglib,我正在尝试重用从Struts1到Struts2的大量JSP,其中一些JSP的TagLib声明如下: <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%> <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic"%> <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean"%> 当我将

我正在尝试重用从Struts1到Struts2的大量JSP,其中一些JSP的TagLib声明如下:

<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic"%>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean"%>

当我将其更改为:

<%@ taglib uri="/struts-tags" prefix="html"%>
<%@ taglib uri="/struts-tags" prefix="logic"%>
<%@ taglib uri="/struts-tags" prefix="bean"%>

我得到一个错误:

JSPG0227E:翻译/jsp/survey/surveyIdPreview.jsp时捕获异常: /jsp/survey/surveyIdPreview.jsp(27,1)-->JSPG0046E:无法找到标记html的标记文件

我之所以三次使用相同的标记库,是因为标记散布在JSP中,并且我试图最小化代码更改

这种方法适用于应用程序的其余部分,但对于某些页面,我看到了上面的错误。 我无法理解为什么Struts2 jar中的TLD对某些页面不可见


非常感谢您的帮助

此3用于struts 1标签

<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic"%>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean"%>

Struts 2只使用一个tld,即Struts-tags.tld。 因此,您只能将其声明为:

<%@ taglib prefix="s" uri="/struts-tags" %>

还要确保在WEB-INF/lib中struts2-core-2.x.x.jar