0

struts-config には、次のようなアクションがあります。

<action
      path="/action/basket"
      type="com.xxx.BasketAction"
      name="basketForm"
      scope="session"
      unknown="false"
      validate="false"
    >
      <forward
        name="displayItems"
        path="EshelfItems"
        redirect="false"
      />
      <forward
        name="displayItems-redirect"
        path="/action/basket.do?fn=display"
        redirect="true"
      />
      <forward
        name="displayBasket"
        path="/basket.jsp"
        redirect="false"
      />
    </action>

のマッピングはどこにあります/action/basket.do?fn=displayか?

4

2 に答える 2

0

http://struts.apache.org/1.x/faqs/works.htmlによると:

フレームワーク構成ファイルでは、アクションクラス(つまり、「login」==> LoginActionクラス)と呼ばれるアプリケーションのコントローラーコンポーネントにパスを関連付けます。これは、着信要求'http://myhost/myapp/login.do'に対して、コントローラーコンポーネントLoginActionを呼び出す必要があることをActionServletに通知します。

このURLの拡張子.doに注意してください。この拡張機能により、コンテナ(つまり、Tomcat)はActionServletを呼び出します。これにより、「ログイン」という単語が実行したいものと見なされます。構成が参照され、LoginActionが実行されます。

リクエストパラメータがチェックされてBasketActionいるクラスをチェックしてください。 特定のマッピングのアクションクラスが見つからない場合は、 RequestProcessorのプロセスメソッドをデバッグすることも役立ちます。fn=display

于 2012-08-30T09:13:48.090 に答える
0

あなたの質問は明確ではありません..ヒット/action/basket.do?fn=displayすると、Struts構成で次のマッピングが使用されます。

<action
      path="/action/basket"

そして、それは実行されます

com.xxx.BasketAction

そのクラスでは、必要に応じてパラメーターを読み取ってfn=display転送を実行できます。これ<forward>...</forward>は、struts 構成のマッピングでマップされたとおりに機能します

于 2012-08-30T09:23:32.970 に答える