0

webapps ルートの下のフォルダー プロジェクトに、about.jsp、contact.jsp、user.jsp、index.jsp に関するページがあります。URL マッピングには tuckey-urlrewrite-filter を使用します。URL書き込みを次のように使用しました

    <rule>
    <from>/contact_us</from>
        <to>/contact.jsp</to>
    </rule>
    <rule>
    <from>/about_us</from>
        <to>/about.jsp</to>
    </rule>

URL about_us または contact_us を入力すると、これらは対応するページを開くためにうまく機能します。しかし、contact_us と about_us 以外の user.jsp の URL が必要です。user.jsp をプロファイル ページとして使用したためです。URL に「abhiramgiri」と入力すると、user.jsp が開くか、contact_us と about_us を除いて何か入力すると、user.jsp が開きます。これらのケースの実際のコードを書くことができません。助けてください...

4

1 に答える 1

0

最初の 2 つのルールに last="true" を設定してから、3 番目のルールを追加してみてください。

<rule>
    <from>/contact_us</from>
    <to last="true">/contact.jsp</to>
</rule>
<rule>
    <from>/about_us</from>
    <to last="true">/about.jsp</to>
</rule>
<rule>
    <from>.*</from>
    <to>/user.jsp</to>
</rule>

これは、/contact_us に一致があった場合、フィルターは一致の検索を停止し、/about_us についても同様であることを意味します。これらのいずれにも一致しないものは、すべて一致するはずの 3 番目のルールと比較されます。

正規表現では、「.」は任意の 1 文字に一致することを意味し、「*」はパターンの前の部分の 0 回以上の出現に一致することを意味します。したがって、「.*」は、0 個以上の任意の文字に一致することを意味します。

于 2013-10-12T04:12:29.987 に答える