我正在尝试将Struts1中的一堆JSP重用到Struts2,一些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) - &gt; JSPG0046E:无法找到标记html的标记文件
我使用相同taglib三次的原因是因为标签遍布JSP,我正在尝试最小化代码更改。
此方法适用于剩余的应用程序,但对于某些页面,我看到上述错误。 我无法理解为什么某些页面看不到Struts2 jar中的TLD。
非常感谢任何帮助。
答案 0 :(得分:1)
这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