簡體   English   中英

在企業應用中使用 Struts2 標簽

[英]Using Struts2 Tags in Enterprise Application

我創建了一個帶有 EJB 模塊的企業應用程序。 但我還沒有發起網絡戰爭。

然后我創建了一個 Struts2 web,並將其添加到企業應用程序中。

沒關系。 如果我使用 HTML 標簽,但是當我使用 Struts2 標簽時,它會拋出異常:

這里:

“HTTP 狀態 500 - 內部服務器錯誤

輸入異常報告

消息內部服務器錯誤

說明服務器遇到內部錯誤,無法完成此請求。

例外

org.apache.jasper.JasperException:

找不到 Struts 調度程序。

這通常是由於使用沒有關聯過濾器的 Struts 標簽造成的。

Struts 標簽僅在請求通過其 servlet 過濾器時可用,該過濾器初始化此標簽所需的 Struts 調度程序。 - [未知位置] 根本原因

找不到 Struts 調度程序。 這通常是由於使用沒有關聯過濾器的 Struts 標簽造成的。

Struts 標簽僅在請求通過其 servlet 過濾器時可用,該過濾器初始化此標簽所需的 Struts 調度程序。

  • [未知位置] note 異常的完整堆棧跟蹤及其根本原因可在 GlassFish Server 開源版 4.0 日志中找到。HTTP 狀態 500 - 內部服務器錯誤

輸入異常報告

消息內部服務器錯誤

說明服務器遇到內部錯誤,無法完成此請求。

例外

org.apache.jasper.JasperException:

找不到 Struts 調度程序。

這通常是由於使用沒有關聯過濾器的 Struts 標簽造成的。 Struts 標簽僅在請求通過其 servlet 過濾器時可用,該過濾器初始化此標簽所需的 Struts 調度程序。 - [未知位置] 根本原因

找不到 Struts 調度程序。 這通常是由於使用沒有關聯過濾器的 Struts 標簽造成的。

Struts 標簽僅在請求通過其 servlet 過濾器時可用,該過濾器初始化此標簽所需的 Struts 調度程序。

  • [未知位置] 注意 異常的完整堆棧跟蹤及其根本原因可在 GlassFish Server 開源版 4.0 日志中找到。”

錯誤清楚地表明

這通常是由於使用了沒有關聯過濾器的 Struts 標簽造成的

這意味着其中有一個 JSP 和 struts 標簽,但是過濾器不使用這個 JSP,因為它可能是一個歡迎文件,即index.jsp ,錯誤代碼文件,即404.jsp ,在web.xml配置web.xml

在涉及映射到資源的任何過濾器或 servlet 之前,這些資源由 Web 服務器處理。

通常歡迎文件包含一個重定向代碼到一個有效的動作,然后分派一個可以有 Struts 標簽的 JSP。

不要直接在您的應用程序中使用 JSP,而應使用操作。

異常清楚地說明了問題。

要解析Struts標簽,您需要通過web.xml初始化Struts Filter class

<filter>
  <filter-name>struts2</filter-name>
  <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>

<filter-mapping>
  <filter-name>struts2</filter-name>
   <url-pattern>/*</url-pattern>
</filter-mapping>

更多信息

我遇到了同樣的問題,這就是我解決它的方法:

1 - 確保 web.xml 中的歡迎文件不是帶有 struts 標簽的文件。

因此,創建一個頁面 index.jsp,將其添加到 web.xml 中,如下所示:

  <welcome-file-list>
     <welcome-file>/vues/index.jsp</welcome-file>
  </welcome-file-list>

並且 index.jsp 應該只有一個代碼來將用戶重定向到具有 struts 標記的實際索引頁面。

<%
     response.sendRedirect(response.encodeRedirectURL(request.getContextPath()) + "/index.action");
%>

index.action 是一個沒有類的操作,它的結果是將您引導到實際的索引頁面,因此在 struts.xml 中,您將擁有以下內容:

    <action name="index">
        <result>jspPages/index-logged-out.jsp</result>
    </action>

您需要在 web.xml 中配置 struts 默認過濾器調度程序

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM