3

私は新しい Java Struts フレームワークです。しかし、私は質問したいです。

In struts.xmlpath is .dolike "/AddReq.do" OR path is only name like"AddReq"

"/AddReq.do"とはどう違い"AddReq"ますか?

例えば

<action path="/AddReqPage"
type="...actions.AddReqPageAction">
        <forward name="success" path="AddReq" /> 
        <forward name="failure" path="/bos.jsp" />
</action>
<action path="/AddReq"
type="...actions.AddReqAction"
name="AddReqForm" validate="true"
scope="request">
        <forward name="success" path="/AddReqDetail.do" />
        <forward name="hata" path="AddReq" />
        <forward name="failure" path="/bos.jsp" />
</action>
4

2 に答える 2

4

あまり違いはありません。web.xml で正しく struts ActionServlet にマップしていれば、どちらも機能するはずです。

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

従来、Struts は *.do パターンを使用して、そのサーブレットを他のサーブレットや JSP と区別しています。

于 2013-02-21T18:31:20.087 に答える
1

「.do」はアクション拡張子です。サーブレットマッピングで設定します。strutsがURLを解析するとき、静的呼び出しとstrutsアクションを区別するためにそのような拡張機能を探します。次に、そのURLに対応するが、「。do」がないマッピングを検索します。ただし、アプリケーションがその拡張子を使用するように構成されている場合は、転送で「.do」を指定する必要があります。現在、この拡張機能は以前ほど意味がありません。URL書き換え技術により、その拡張子は完全に無視されます。と

<servlet-mapping>
  <servlet-name>action</servlet-name>
  <url-pattern>/c/*</url-pattern>
</servlet-mapping>

上記の参照は完全に却下できます。

于 2013-02-21T19:27:35.507 に答える