【问题标题】:Migrate Struts 1 tags to Struts 2将 Struts 1 标签迁移到 Struts 2
【发布时间】:2014-12-22 06:14:20
【问题描述】:

我正在尝试重用一堆从 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 的标记文件

我三次使用相同的 taglib 的原因是标签散布在 JSP 中,我试图尽量减少代码更改。

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

非常感谢任何帮助。

【问题讨论】:

    标签: jsp struts2 tags taglib


    【解决方案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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多