2017-07-07 5 views
0

私はHDIVを使用して私のWebアプリケーションでHDIVを統合しようとしていますが、ログインページをロードしようとしたときにHDIVパラメータは

1.jarが、私は以下のエラーが発生した支柱は存在しません。私がやった

(self-tuning)'][][](org.hdiv.logs.Logger) - HDIV_PARAMETER_DOES_NOT_EXIST;/abc/def/index.do;_HDIV_STATE_;;;127.0.0.1;127.0.0.1;anonymous; 

可能なチェック:

  1. libに -elタグは、すべてのURL
  2. にフィルタマッピングパターンで試してみましたHDIV-でstruts- -elタグのlibを追加してみました

どこが間違っているのかわかりません。多くの検索は私に適切な解決策を提供しません。どんな指導も高く評価されます。ありがとうございます

ここに私の設定ファイルです。

hdiv-config.xml。私は私が見るあなたのポストによると、支柱-CONFIG-hdiv.xml

<hdiv:config excludedExtensions="css,png,gif,jpg,html,js" protectedExtensions=".*.do"> 
</hdiv:config> 

<hdiv:config> 
    <hdiv:startPages>/index.html</hdiv:startPages> 
    <hdiv:startPages>/fsm/efsm/index.do</hdiv:startPages> 
</hdiv:config> 

<hdiv:config errorPage="/fsm/jsp/tiles/common/ErrorPage.jsp"> 
     <hdiv:startPages>/index.html</hdiv:startPages> 
     <hdiv:startPages>/fsm/efsm/index.do</hdiv:startPages> 
</hdiv:config> 

<hdiv:editableValidations registerDefaults="true"> 
    <hdiv:validationRule url=".*"></hdiv:validationRule> 
</hdiv:editableValidations> 

<hdiv:config showErrorPageOnEditableValidation="true"> 
</hdiv:config> 

<hdiv:config maxPagesPerSession="5"> 
</hdiv:config> 

<hdiv:config avoidValidationInUrlsWithoutParams="true"> 
</hdiv:config> 

` web.xmlの

<context-param> 
    <param-name>contextConfigLocation</param-name> 
    <param-value>/WEB-INF/struts-config/struts-config-hdiv.xml</param-value> 
</context-param> 

<filter> 
    <filter-name>ValidatorFilter</filter-name> 
    <filter-class>org.hdiv.filter.ValidatorFilter</filter-class> 
</filter> 

<filter-mapping> 
    <filter-name>ValidatorFilter</filter-name> 
    <url-pattern>*.do</url-pattern> 
</filter-mapping> 

<listener> 
    <listener-class>org.hdiv.listener.InitListener</listener-class> 
</listener> 

<servlet> 
    <servlet-name>action</servlet-name> 
    <servlet-class> 
     org.apache.struts.action.ActionServlet 
    </servlet-class> 
    <init-param> 
     <param-name>config</param-name> 
     <param-value> 
      /WEB-INF/struts-config/struts-config-default.xml 
     </param-value> 
    </init-param> 
    <init-param> 
     <param-name>config/hdiv</param-name> 
     <param-value> 
      /WEB-INF/struts-config/struts-config-hdiv.xml 
     </param-value> 
    </init-param> 
    <init-param> 
     <param-name>debug</param-name> 
     <param-value>3</param-value> 
    </init-param> 
    <init-param> 
     <param-name>detail</param-name> 
     <param-value>3</param-value> 
    </init-param> 
    <init-param> 
     <param-name>validating</param-name> 
     <param-value>false</param-value> 
    </init-param> 
    <load-on-startup>1</load-on-startup> 
</servlet> 

<servlet-mapping> 
    <servlet-name>action</servlet-name> 
    <url-pattern>*.do</url-pattern> 
</servlet-mapping> 

<welcome-file-list> 
    <welcome-file>index.html</welcome-file> 
</welcome-file-list> 

<taglib> 
    <taglib-uri>/WEB-INF/tld/struts-html.tld</taglib-uri> 
    <taglib-location>/WEB-INF/tld/hdiv-html.tld</taglib-location> 
</taglib> 
<taglib> 
    <taglib-uri>/WEB-INF/tld/struts-nested.tld</taglib-uri> 
    <taglib-location>/WEB-INF/tld/hdiv-nested.tld</taglib-location> 
</taglib> 
<taglib> 
    <taglib-uri>/WEB-INF/tld/struts-logic.tld</taglib-uri> 
    <taglib-location>/WEB-INF/tld/hdiv-logic.tld</taglib-location> 
</taglib> 
<taglib> 
    <taglib-uri>/WEB-INF/tld/struts-html-el.tld</taglib-uri> 
    <taglib-location>/WEB-INF/tld/hdiv-html-el.tld</taglib-location> 
</taglib> 
<taglib> 
    <taglib-uri>/WEB-INF/tld/struts-logic-el.tld</taglib-uri> 
    <taglib-location>/WEB-INF/tld/hdiv-logic-el.tld</taglib-location> 
</taglib> 

` のpom.xml

<dependency> 
<groupId>org.hdiv</groupId> 
    <artifactId>hdiv-config</artifactId> 
    <version>3.3.0</version> 
</dependency> 
<dependency> 
    <groupId>org.hdiv</groupId> 
    <artifactId>hdiv-struts-1</artifactId> 
    <version>3.3.0</version> 
</dependency> 

答えて

0

としてそれを命名しました2つの可能な解決策:

  • Struts 1が提供するカスタムタグを使用して、サーバー側で報告されたURLを処理して、linksrをレンダリングする必要があります。そのようにして、Hdivは追加のhdivパラメータを含みます。

  • URLがブラウズを開始する開始ページ(アプリケーションへのエントリポイント)である場合(この場合、リンクをレンダリングしていない)、Hdiv設定内に開始ページを定義する必要があります。

    <hdiv:config> 
    <hdiv:startPages>XXX the URL XX</hdiv:startPages> 
    

よろしく、

ロベルト・ベラスコ(HDIVセキュリティ)