0

ここの人々の助けを借りて、プロジェクトでパッケージのデフォルトのアクションを接尾辞なしで呼び出すことができました.htm。ただし、index.jspスラッシュなしで URL を呼び出すと、要求は webapp フォルダー内に行き着きます。

<struts>
    <constant name="struts.enable.DynamicMethodInvocation" value="false"/>
    <constant name="struts.action.extension" value="htm,," />
    <constant name="struts.objectFactory" value="spring" />  
    <constant name="struts.devMode" value="true"/>

    ...

    <package name="home" namespace="/secured" extends="default">
        <default-action-ref name="index" />

        <action name="index" class="homeAction" method="execute">
            <result name="success" type="tiles">home</result>
        </action>
    </package>
</struts>

を呼び出すとアクションが実行されhttp://someurl/someproject/secured/ますが、URL を呼び出すとhttp://someurl/someproject/securedファイルに行き着きますindex.jsp

何をすべきか?ありがとう

4

1 に答える 1

1

http://someurl/someproject/securedurlを呼び出すとsecured、アクションが空のサフィックスを持つことができるように構成されているため (これはデフォルトでもあります)、サフィックスなしのアクションのように扱われます。この URL を名前空間にリダイレクトしたい場合は、空のパッケージまたは名前空間で結果を指定してアクションを/secured宣言できます。securedredirectAction/

<package name="..." namespace="/" extends="struts-default">
  ...
  <action name="secured">
    <result type="redirectAction">
      <param name="actionName">index</param>
      <param name="namespace">/secured</param>
    </result>
  </action>
  ...
</package>
于 2013-10-18T10:30:45.527 に答える